From: | Joel Burton <joel(at)joelburton(dot)com> |
---|---|
To: | Marc Polatschek <Marc(dot)Polatschek(at)computec(dot)de> |
Cc: | "postgreSQL [GENERAL] (E-Mail)" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Problem with Subquery |
Date: | 2002-03-07 19:29:53 |
Message-ID: | Pine.LNX.4.30.0203071426270.21737-100000@temp.joelburton.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)joelburton(dot)com | joelburton.com | aim: wjoelburton
Independent Knowledge Management Consultant
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2002-03-07 19:44:05 | Re: Problem with Subquery |
Previous Message | Alaric B Snell | 2002-03-07 19:09:59 | Re: What are functional indices good for? |