Hilfe bei SQL-Statement
Köffi
- datenbank
Hallo, ich brauche Hilfe...
Wer kann mir folgendes SQL-Statement basteln.
Ich habe zwei Tabellen:
| ID | WertA |
1 34
2 32
3 44
4 49
5 13
6 39
7 31
8 24
In dieser Tabelle befinden sich vorgegebene Werte
und
| ID | Person | WertB
3 X 43
4 X 25
Diese Tabelle wird nach und nach mit Werten gefüllt.
Ich brauche folgende Select-Ausgabe:
Gebe alle Werte A und B der ID's 3 bis 6 zur Person X aus, unäbhängig davon, ob in der 2.Tabelle schon ein Eintrag existiert.
Wenn ich folgendes Statement benutze habe ich das Problem, dass ich nur die Ausgabe bekomme von Werten, die in beiden Tabellen eingeplegt wurden.
Select a.ID, b.Person, a.WertA, b.WertB
From tabelle1 a, tabelle2 b
Where (a.ID BETWEEN 3 AND 6)
AND (b.Person ='X')
ergibt folgendes:
| ID | Person | WertA | Wert B
3 X 44 43
4 X 49 25
Ich möchte aber alle Werte ausgegeben bekommen...
| ID | Person | WertA | Wert B
3 X 44 43
4 X 49 25
5 X 13 NULL
6 X 39 NULL
Kann ich mir das irgendwie basteln...
Vielen Dank
Köffi
hi
also irgendwie ist das ziemlich unlogisch was du da machen willst?!
Ich möchte aber alle Werte ausgegeben bekommen...
| ID | Person | WertA | Wert B
3 X 44 43
4 X 49 25
5 X 13 NULL
6 X 39 NULL
wie kommst du darauf? was ist der sinn dieser abfrage?!
grüße sascha
Sinn !?
Muss immer alles gleich einen Sinn haben ?
Ich wollte halt die Daten etwas aufsplitten. Der Kern ist, das die 1.Tabelle bereits fest steht und das in die 2.Tabelle nach und nach Datensätze eingefügt werden.
Naja, ich hatte auch schon an den Join-Befehl gedacht. Ich werde mich da mal einlesen.
Vielen Dank
Köffi
Hi Köffi
Naja, ich hatte auch schon an den Join-Befehl gedacht. Ich werde mich da mal einlesen.
Ja, genauer gesagt wird es der Left / Right (Outer) Join sein.
Gruss Daniela
Jawoll, mit dem Left Outer Join klappt es. Allerdings ist das wohl zu kompliziert und liefert auch nicht die gewünschte Effizienz. Hab daher meine Tabellenstruktur überarbeitet und mache die Abfrage nun anders. Trotzdem danke für eure Hilfe...
Also ich würd dir mal empfehlen dir mal die Join Klausel anzuschauen, damit kannst du werte anzeigen lassen die Null sind.
einfach Dr. Google fragen
cu shadow
Mahlzeit;
Hallo, ich brauche Hilfe...
Wer kann mir folgendes SQL-Statement basteln.
Ich habe zwei Tabellen:
| ID | WertA |
1 34
2 32
3 44
4 49
5 13
6 39
7 31
8 24In dieser Tabelle befinden sich vorgegebene Werte
und
| ID | Person | WertB
3 X 43
4 X 25Diese Tabelle wird nach und nach mit Werten gefüllt.
Ich brauche folgende Select-Ausgabe:
Gebe alle Werte A und B der ID's 3 bis 6 zur Person X aus, unäbhängig davon, ob in der 2.Tabelle schon ein Eintrag existiert.Wenn ich folgendes Statement benutze habe ich das Problem, dass ich nur die Ausgabe bekomme von Werten, die in beiden Tabellen eingeplegt wurden.
Select a.ID, b.Person, a.WertA, b.WertB
From tabelle1 a, tabelle2 b
Where (a.ID BETWEEN 3 AND 6)
AND (b.Person ='X')
AND b.WertB IS NULL OR b.WertB IS NOT NULL
ungetestet, bitte prüfen, rolf