![]() |
SQL Select mit FK und where-Klausel in einer einzigen Tabelle
Guten Tag zusammen,
ich stehe vor einem, für mich, etwas komplizierterem Rätsel. Ich arbeite mit einer SQL-Datenbank und habe dort eine Tabelle mit Artikeln. Diese enthält unter anderem die Spalten ID --- Artikelnummer --- Revision --- Vorgängerartikel_FK(Enthält ID des Vorgängerartikels) Nun will ich ein select ausführen, wessen Ergebnis die ID, Artikelnummer, Revision und Artikelnummer + Revision des Vorgängerartikels enthält. Ich kann also ein Select ID, Artikelnummer, Revision, from Artikel; ausführen, um den leichten Teil zu erledigen. Klappt natürlich auch wunderbar. Wenn ich mir das Ganze so umbaue Select ID, Artikelnummer, Revision, Artikelnummer + ' - ' + Revision as Vorgängerartikel (die "SQL-und-Zeichen" kriege ich hier nicht hin, deswegen das "+") from Artikel where Artikel.ID = Artikel.Vorgängerartikel; funktioniert das nicht, ist ja auch einleuchtend... Aber wie kann ich das realisieren, ohne eine zweiite Tabelle zu haben, bzw. geht das überhaupt oder macht man sowas lieber erst gar nicht? |
AW: SQL Select mit FK und where-Klausel in einer einzigen Tabelle
Grundsätzlich kannst Du die gleiche Tabelle natürlich mehrmals abfragen, mit verschiedenen Aliasen halt ;)
Sherlock |
AW: SQL Select mit FK und where-Klausel in einer einzigen Tabelle
Zitat:
Nicht jeder Artikel hat wohl einen Vorgänger, selbst wenn der Shop aus der Steinzeit ist. |
AW: SQL Select mit FK und where-Klausel in einer einzigen Tabelle
So Vieleicht?
SQL-Code:
Hättest das auch gut in der Datenbank-Sektion posten können.
Select
A.ID, A.Artikelnummer, A.Revision, V.Artikelnummer + ' - ' + V.Revision as Vorgängerartikel From Artikel A Left Join Artikel V On V.ID = A.Vorgängerartikel_FK |
AW: SQL Select mit FK und where-Klausel in einer einzigen Tabelle
Uhi, das ging ja schnell...xD
Danke für die ganzen Lösungen. Das mit den Aliases ist ne coole Sache, aber über ein einfaches select fehlen dann die Einträge, wo es keinen Vorgänger gibt. Das meine jobo wohl. Der Left Join gefällt mir. Danke. :) |
AW: SQL Select mit FK und where-Klausel in einer einzigen Tabelle
Zitat:
|
AW: SQL Select mit FK und where-Klausel in einer einzigen Tabelle
Ok.
Gibt es denn eine Möglichkeit, dass ich noch eine where Klausel für eine Zusätzliche Bedingung einbauen kann? Oder gehen alle zusätzlichen Bedingungen jetzt ebenfalls nur noch über einen Join? |
AW: SQL Select mit FK und where-Klausel in einer einzigen Tabelle
einfach where-clause hinten anhängen
|
AW: SQL Select mit FK und where-Klausel in einer einzigen Tabelle
Im Join (on) sollten nur die Bedingungen für disen stehen und die anderen Einschränkungen wie gehabt in der where clause.
|
Dieses Thema wurde am "06. May 2015, 15:25 Uhr" von "TBx" aus dem Forum "Programmieren allgemein" in das Forum "Datenbanken" verschoben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz