[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