Re: [GENERAL] SELECT statement with sub-queries - Mailing list pgsql-general

From rob stone
Subject Re: [GENERAL] SELECT statement with sub-queries
Date
Msg-id 1495992294.8904.1.camel@gmail.com
Whole thread Raw
In response to [GENERAL] SELECT statement with sub-queries  (Michelle Konzack <linux4michelle@gmail.com>)
Responses Re: [GENERAL] SELECT statement with sub-queries  (Michelle Konzack <linux4michelle@gmail.com>)
List 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


pgsql-general by date:

Previous
From: Thomas Kellerer
Date:
Subject: Re: [GENERAL] Postgres 10 Beta1 - pg_upgrade fails on Windows 10
Next
From: Michelle Konzack
Date:
Subject: Re: [GENERAL] SELECT statement with sub-queries