Re: SELECT statement with sub-queries

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

In response to

Responses

Browse pgsql-general by date

  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