Benutzer mit den meisten Antworten
Abfragenproblem

Frage
-
Hallo Forum,
ich bin leider noch blutiger Anfänger was T-SQL angeht und würde mich über Hilfe sehr freuen.
Ich muss eine Abfrage über zwei Tabellen erstellen, in der einen Tabelle stehen Daten zu Aufträgen, in der zweiten stehen pro Auftrag bis zu zehn weitere Datensätz die ich gerne angezeigt haben will (Also zu jedem Eintrag in der ersten Tabelle bis zu zehn Datensätze in der zweiten 1:N)
a.) Wie kann ich es hinbekommen, dass ich für jeden Eintrag in der zweiten Tabelle auch eine Ausgabe mit den Daten der ersten (Auftragskopf)Tabelle erstelle?
Und b.) ist es ggf. möglich die Tabellen so zu abzufragen, dass ich die Felder aus der zweiten Tabelle "hinter" die der ersten Tabelle zu sortieren, dass ich am Ende nur einen Datensatz je Aufrtrag habe?
gruß
Heiko
Antworten
-
a) Eine Parent-Child-Beziehung, geht mittels INNER JOIN (LEFT JOIN wenn in der abhängige Tabelle nicht immer Daten vorhanden sein müssen):
SELECT P.*, C.* FROM Tabelle1 P INNER JOIN Tabelle2 C ON P.ID = C.ParentID;
b) Im Grunde ja. Ein Pivot. Mittels CASE-Expression kannst du sie umbrechen. Wobei "hinter" nicht wirklich Sinn ergibt, da diese Art der Ausgabesteuerung idealerweise im Front-End gemacht werden sollte. Daher: wo brauchst du es?
Vielen Dank dafür! Nun bekomme ich meine Ansicht. Allerdings ist sie nicht so vorteilhaft.
Wie muss ich vorgehen um die Darstellung mittels PIVOT zu erstellen?
- Als Antwort markiert mxyptlk Donnerstag, 6. Juni 2013 06:29
Alle Antworten
-
a) Eine Parent-Child-Beziehung, geht mittels INNER JOIN (LEFT JOIN wenn in der abhängige Tabelle nicht immer Daten vorhanden sein müssen):
SELECT P.*, C.* FROM Tabelle1 P INNER JOIN Tabelle2 C ON P.ID = C.ParentID;
b) Im Grunde ja. Ein Pivot. Mittels CASE-Expression kannst du sie umbrechen. Wobei "hinter" nicht wirklich Sinn ergibt, da diese Art der Ausgabesteuerung idealerweise im Front-End gemacht werden sollte. Daher: wo brauchst du es?
-
a) Eine Parent-Child-Beziehung, geht mittels INNER JOIN (LEFT JOIN wenn in der abhängige Tabelle nicht immer Daten vorhanden sein müssen):
SELECT P.*, C.* FROM Tabelle1 P INNER JOIN Tabelle2 C ON P.ID = C.ParentID;
b) Im Grunde ja. Ein Pivot. Mittels CASE-Expression kannst du sie umbrechen. Wobei "hinter" nicht wirklich Sinn ergibt, da diese Art der Ausgabesteuerung idealerweise im Front-End gemacht werden sollte. Daher: wo brauchst du es?
Vielen Dank dafür! Nun bekomme ich meine Ansicht. Allerdings ist sie nicht so vorteilhaft.
Wie muss ich vorgehen um die Darstellung mittels PIVOT zu erstellen?
- Als Antwort markiert mxyptlk Donnerstag, 6. Juni 2013 06:29