MysterioJN
SQL-Guru
- Beiträge
- 158
Kann ich innerhalb des Left Join: AND Artikel.status = 'aktuell' anstelle dessen einen Case verwenden, oder eine Unterabfrage wo er nur den ersten Wert des jeweiligen AKEN in Verbindung bringt?
Grund: Jetzt wirft er mir in der Tat alle Datensätze der tab aus (dem himmel sei dank) und füllt dann Spalten mit werden aus der ARTIKEL, sofern Status = 'aktuell'.
Wenn der Status 'aktuell' in der ARTIKEL nicht zutrifft, sind die refernzierten Spaltenwerte logischerweise bei Ausgabe der TAB "null", weil er dann nicht verknüpft.
Daher meine Frage, ob man mit Case anstelle dessen arbeiten kann, wenn es mal für ein aken kein aktuell gibt, soll er mir einfach den nächsten Datenzeilenwert der aken nehmen
Kurzer Exkurs der Tabelle Artikel:
rowid,AKEN, Artikelnummer, AUFLAGE, STATUS, ....
1, 2000, 1234, 2. Auflage, alt
2, 2000, 1234, 3. Auflage, aktuell
3, 3000, 7890, 17. Auflage, aktuell
4, 5000, 5450, 7. Auflage, alt
Es gibt Artikel, die derzeit in keiner Auflage auf dem Markt sind. Daher haben dann alle den Status "alt". Dennoch möchte ich wissen, um welchen (sofern keinen aktuellen Artikel) Alt-Artikel es geht.
In Excel hätte ich mir so beholfen, in dem ich:
1. die Tabelle ARTIKEL sortieren lasse (A-Z) nach Spalte "AKEN" und dann Spalte "Status" (Beispiel sieht dann so aus)
2, 2000, 1234, 3. Auflage, aktuell
1, 2000, 1234, 2. Auflage, alt
3, 3000, 7890, 17. Auflage, aktuell
4, 5000, 5450, 7. Auflage, alt
2. einen Sverweis drauf setze. Sverweis gibt mir dann immer den ERSTEN Treffer aus. Da vorher sortiert wurde ist es sogar idealerweise ein Datensatz mit "aktuell"
Ok, glaub das ist jetzt zu kompliziert verständlich dir nahezubringen. Zumal es nun DER Finale-Schlüssel in meiner nun 32 zeiligen Selectabfrage zur anschließenden Tabellengenerierung ist :-((
Ganz ehrlich, die ganzen Probleme hätte ich nicht, wenn die Datenbank des Dienstleisters eindeutig referenziert und normalisiert wäre... Dann bräuchte ich hier nich solche Fragen stellen.
Ich freue mich auf meinen Urlaub und brauch ihn auch echt dringend. Liege momentan Tag und Nacht in Gedanken bei "selects".
Grund: Jetzt wirft er mir in der Tat alle Datensätze der tab aus (dem himmel sei dank) und füllt dann Spalten mit werden aus der ARTIKEL, sofern Status = 'aktuell'.
Wenn der Status 'aktuell' in der ARTIKEL nicht zutrifft, sind die refernzierten Spaltenwerte logischerweise bei Ausgabe der TAB "null", weil er dann nicht verknüpft.
Daher meine Frage, ob man mit Case anstelle dessen arbeiten kann, wenn es mal für ein aken kein aktuell gibt, soll er mir einfach den nächsten Datenzeilenwert der aken nehmen
Kurzer Exkurs der Tabelle Artikel:
rowid,AKEN, Artikelnummer, AUFLAGE, STATUS, ....
1, 2000, 1234, 2. Auflage, alt
2, 2000, 1234, 3. Auflage, aktuell
3, 3000, 7890, 17. Auflage, aktuell
4, 5000, 5450, 7. Auflage, alt
Es gibt Artikel, die derzeit in keiner Auflage auf dem Markt sind. Daher haben dann alle den Status "alt". Dennoch möchte ich wissen, um welchen (sofern keinen aktuellen Artikel) Alt-Artikel es geht.
In Excel hätte ich mir so beholfen, in dem ich:
1. die Tabelle ARTIKEL sortieren lasse (A-Z) nach Spalte "AKEN" und dann Spalte "Status" (Beispiel sieht dann so aus)
2, 2000, 1234, 3. Auflage, aktuell
1, 2000, 1234, 2. Auflage, alt
3, 3000, 7890, 17. Auflage, aktuell
4, 5000, 5450, 7. Auflage, alt
2. einen Sverweis drauf setze. Sverweis gibt mir dann immer den ERSTEN Treffer aus. Da vorher sortiert wurde ist es sogar idealerweise ein Datensatz mit "aktuell"
Ok, glaub das ist jetzt zu kompliziert verständlich dir nahezubringen. Zumal es nun DER Finale-Schlüssel in meiner nun 32 zeiligen Selectabfrage zur anschließenden Tabellengenerierung ist :-((
Ganz ehrlich, die ganzen Probleme hätte ich nicht, wenn die Datenbank des Dienstleisters eindeutig referenziert und normalisiert wäre... Dann bräuchte ich hier nich solche Fragen stellen.
Ich freue mich auf meinen Urlaub und brauch ihn auch echt dringend. Liege momentan Tag und Nacht in Gedanken bei "selects".