Re: Problem with "NOT IN (subquery)

From: "Christian Paul B(dot) Cosinas" <cpc(at)cybees(dot)com>
To: "'Steve SAUTETNER'" <steve(at)sautetner(dot)com>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Problem with "NOT IN (subquery)
Date: 2005-11-14 09:47:12
Message-ID: 000f01c5e900$63c2a6a0$1e21100a@ghwk02002147
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I think that query should work. Hmmm... Weird...
I tried that in my database and it is working.

What do you mean by this? " If i use a list instead of a subquery it works
normaly but it's not easy to manage it like this."

-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org [mailto:pgsql-sql-owner(at)postgresql(dot)org]
On Behalf Of Steve SAUTETNER
Sent: Sunday, November 13, 2005 6:27 AM
To: pgsql-sql(at)postgresql(dot)org
Subject: [SQL] Problem with "NOT IN (subquery)

Hi,

I have a table named "famille" whose structure and content is :

famille_code | famille_mere_famille_code | famille_libelle |
famille_niveau
--------------+---------------------------+-------------------+---------
--------------+---------------------------+-------------------+----
---
000000 | | Mhre |
0
I00001 | 000000 | Composants |
1
IN0001 | I00001 | Micro-processeurs |
2
IN0002 | I00001 | Mimoires RAM |
2
INS001 | IN0002 | DDR-SDRAM |
3
INS002 | IN0002 | DDR2-SDRAM |
3
INS003 | IN0002 | SDR-SDRAM |
3
IN0003 | I00001 | Cartes mhres |
2
IN0004 | I00001 | Disques durs |
2
IN0005 | I00001 | Cartes graphiques |
2
IN0006 | I00001 | Cartes son |
2
IN0007 | I00001 | Riseau |
2
IN0008 | I00001 | Lecteurs CD/DVD |
2
IN0009 | I00001 | Graveurs CD/DVD |
2
IN0010 | I00001 | Bontiers |
2
I00002 | 000000 | Piriphiriques |
1
IN0011 | I00002 | Cli USB |
2
IN0012 | I00002 | Modems |
2
IN0013 | I00002 | Imprimantes |
2
(19 rows)

The first col is the family id and the second is the mother family id.
I would get a list of all families that are never in the col n°2, so the
families that aren't node but leaf.

The query, i made was "SELECT * FROM famille WHERE famille_code NOT IN
(SELECT DISTINCT famille_mere_famille_code FROM famille);"

But the DB returns 0 records instead of 15. If i use a list instead of a
subquery it works normaly but it's not easy to manage it like this.

So if anyone can help me please ...

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

I choose Polesoft Lockspam to fight spam, and you?
http://www.polesoft.com/refer.html

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Dinesh Pandey 2005-11-14 11:06:47 Connection Oracle database from Postgres function
Previous Message Bath, David 2005-11-14 02:08:06 selective dump pg_dump: only specific non-tables? with schema name?