From: | rob stone <floriparob(at)gmail(dot)com> |
---|---|
To: | Michelle Konzack <linux4michelle(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: SELECT statement with sub-queries |
Date: | 2017-05-28 17:24:54 |
Message-ID: | 1495992294.8904.1.camel@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello,
On Sun, 2017-05-28 at 20:03 +0300, Michelle Konzack wrote:
> Hello *,
>
> I try to get columns from my database with a singel SELECT, but I
> stuck.
>
> I have 3 tables like:
>
>
> 1) categories (serial,cat)
>
> 2) manufacturers (serial,m_name)
>
> 3) products (serial,category,manufacturer,p_name)
>
>
> where the "category" and "manufacturer"
> are numerical IDs from the two tables above.
>
> So I like to replace the numerical IDs with the appropriated values,
> mean
>
> SELECT * FROM products WHERE category IN
> (SELECT categories.cat FROM categories WHERE
> categories.serial==products.category);
>
> But I get:
>
> ERROR: operator does not exist: integer==integer
> LINE1: ...gories.cat FROM categories
> WHERE categories.serial==products.category);
> ^
> Hmm, "serial" is an "integer" and the "category" and "manufacturer"
> too.
>
> So whats wrong with it?
>
>
You only need a single equals sign in SQL.
SELECT * FROM products WHERE category IN
(SELECT categories.cat FROM categories WHERE
categories.serial = products.category);
Cheers,
Rob
From | Date | Subject | |
---|---|---|---|
Next Message | Michelle Konzack | 2017-05-28 17:53:46 | Re: SELECT statement with sub-queries |
Previous Message | Thomas Kellerer | 2017-05-28 17:22:56 | Re: Postgres 10 Beta1 - pg_upgrade fails on Windows 10 |