Re: Problem with Subquery

Поиск
Список
Период
Сортировка
От Joel Burton
Тема Re: Problem with Subquery
Дата
Msg-id Pine.LNX.4.30.0203071426270.21737-100000@temp.joelburton.com
обсуждение исходный текст
Ответ на Problem with Subquery  ("Marc Polatschek" <Marc.Polatschek@computec.de>)
Список pgsql-general
On Thu, 7 Mar 2002, Marc Polatschek wrote:

> We recently changed our database system from Oracle 8i to postgreSQL. Im
> right now changing our cold fusion code and i have get this problem:
>
>     select    ID,
>             NAME,
>             WEBSITE_URL,
>             (
>             select    count(*)
>             from        MAIN_PC_GAME,
>                     MAIN_COMPANY
>             where        DEVELOPER_ID = MAIN_COMPANY.ID
>             or        PUBLISHER_ID = MAIN_COMPANY.ID
>             ) as TOTAL
>     from        MAIN_COMPANY
>     where        (
>                      lower(SOFTWARE_DEVELOPER)='yes'
>             or         lower(SOFTWARE_PUBLISHER)='yes'
>             )
>
> This SQL statement isnt working with postgreSQL but it worked without
> any problems in Oracle. Postgres Error Message:
>
>     Unable to identify an operator '=' for types 'character varying'
> and 'numeric'
>     You will have to retype this query using an explicit cast
>
> I think postgreSQL cant handle the variable MAIN_COMPANY.ID from the
> parent Scope. Probably there is a way to mark this variable to find it
> in the caller.scope. But i dont know how.

Are you sure that both DEVELOPER_ID/PUBLISHER_ID and MAIN_COMPANY.ID are
both numeric? Is one a string?

If so, cast the numeric into an integer/float. Example

CREATE TABLE test (id numeric, str varchar(5));
INSERT INTO test VALUES (1,'1');
SELECT FROM test WHERE id=str;          <- same error as you're getting
SELECT FROM test WHERE id::int=str;     <- works

--

Joel BURTON  |  joel@joelburton.com  |  joelburton.com  |  aim: wjoelburton
Independent Knowledge Management Consultant


В списке pgsql-general по дате отправления:

Предыдущее
От: Neil Conway
Дата:
Сообщение: Re: HELP!.. "semget(key=2, num=17, 03600) failed: No
Следующее
От: Daniel Åkerud
Дата:
Сообщение: Lock up, but not deadlock?