[linux-support] Mysql: simples ? select-Statement

Christoph Scheurer chris at rebmatt.ch
Thu Apr 22 13:46:57 CEST 2004


On Thu, 22 Apr 2004 10:01:08 +0200
Christoph Scheurer <chris at rebmatt.ch> wrote:

> On Thu, 22 Apr 2004 08:34:16 +0200
> Thomas Jampen <jampen at cryptography.ch> wrote:
> 
> > On Thu, 2004-04-22 at 08:30, Thomas Jampen wrote:
> > > On Thu, 2004-04-22 at 07:53, Markus Wernig wrote:
> > > > Hallo
> > > > 
> > > > Habe ich jetzt ein Blackout oder geht das wirklich nicht:
> > > > 
> > > > eine Tabelle hat zwei Felder (KEY, VAL), keines unique,
> > > > keines null, zusammen sind sie unique und ergeben den
> > > > Primary Key. Ich will jetzt herausfinden, welcher KEY in
> > > > keinem seiner VAL-Felder einen bestimmten Wert aufweist.
> > > > 
> > > > also:
> > > > 
> > > > ----------------
> > > > | KEY  |  VAL  |
> > > > ----------------
> > > > | 1    | 2001  |
> > > > | 1    | 2002  |
> > > > | 1    | 2003  |
> > > > | 2    | 2001  |
> > > > | 2    | 2002  |
> > > > | 3    | 2002  |
> > > > | 3    | 2003  |
> > > > | 3    | 2004  |
> > > > ----------------
> > > > 
> > > > Die Abfrage "Welcher KEY hat in keinem VAL den Wert 2004"
> > > > sollte "1 und 2" ergeben, "Welcher KEY hat in keinem VAL den
> > > > Wert 2001" dementsprechend "3".
> > > > 
> > > > Ich sehe auch nach stundenlangem Gruebeln kein Licht - ihr
> > > > schon?
> > > > 
> > > > tia /markus
> > > 
> > > Hab noch ein etwas einfacheres:
> > > 
> > > SELECT key FROM table WHERE NOT key=(SELECT key FROM table
> > > WHERE NOT val=2004)
> > 
> > ääh, stimmt auch nicht ganz:
> > 
> > Hat ein NOT zu viel:
> > 
> > SELECT key FROM table WHERE NOT key=(SELECT key FROM table WHERE
> > 
> > val=2004)

SELECT key FROM table WHERE NOT key IN (SELECT key FROM table WHERE
val = 2004)
                                    ^^ nötig, sonst fehler bei
mehreren resultaten vom subselect, oder ist das postgres-spezifisch?

Gruss
Chris



More information about the Linux-support mailing list