SQL Server - Group by mit mehreren Verknüpfungen und Streicher
Habe ich gesucht, viele ähnliche Themen aber ich bin immer noch kämpfen, um diese zu arbeiten. Ich bin versucht, die Gruppe auf eine Spalte in allem nach ein paar Tabellen-joins. Jede Hilfe, die möglichen sehr geschätzt
AUSGABE HEUTE
Account System System Plan Code Account Plan Code Request
12345 Sys1 Sys1 P1 12345 P1 00001
12345 Sys1 Sys1 P2 NULL NULL NULL
12345 Sys2 Sys2 P3 12345 P3 00002
34567 Sys1 Sys1 P1 NULL NULL NULL
34567 Sys1 Sys1 P2 34567 P2 00003
45678 Sys3 Sys3 P4 NULL NULL NULL
GEWÜNSCHTE AUSGABE
Account System System Plan Code Account Plan Code Request
12345 Sys1 Sys1 P1 12345 P1, P2 00001
12345 Sys2 Sys2 P3 12345 P3 00002
34567 Sys1 Sys1 P2 34567 P1,P2 00003
45678 Sys3 Sys3 P4 NULL NULL NULL
Ich mich in ein paar Tische und ich möchten, kombinieren Sie die Plan-Codes in eine Zeile pro unique-Konto, um System-Zuordnung.
- Tab1 = Account-und System -
- Tab2 = System-und Plan-Code (Mapping,
zeigt, was plan-codes sind mit jedem system) - Tab3 = Rechnung,Plan-Code, Anfrage #
Ich verloren geht mit dem group by habe ich versucht, eine Spalte für Spalte GRUPPE DURCH und bekomme den Fehler, dass ist kein GROUP By-Ausdruck. So dann habe ich die Spalten und das ändert nichts an der Ausgabe überhaupt.
SELECT A.ACCOUNT, A.SYSTEM, B.SYSTEM, B.PCODE, C.ACCOUNT, C.PCODE, C.REQUEST
FROM MYDB.TAB1 A
LEFT JOIN MYDB.TAB2 B
ON A.SYSTEM = B.SYSTEM
LEFT JOIN MYDB.TAB3 C
ON A.ACCOUNT = C.ACCOUNT AND B.PCODE = C.PCODE
WHERE A.ACCOUNT IS NOT NULL
ORDER BY A.ACCOUNT
Anzahl der Spalten in Ihrer aktuellen Ausgabe entspricht nicht der Abfrage angezeigt. Können Sie bitte die tatsächliche Abfrage, produziert Ihren Ausgang?
Ich werde zu aktualisieren, die Ausgabe, die tatsächliche Abfrage, die ich einfach nur von hand eingegeben eine Vorschau der Ausgabe nur die Konzentration auf die Spalten, die ich kümmerte sich seit einiger dupliziert wurden. Ich update es jetzt so sein, klar. Dank für das schauen an es
Größte Herausforderung hier ist die Verkettung von
Danke. Ich fügte hinzu, die vollständige Ausgabe, die sollten deutlicher machen, sorry, ich hatte nicht von Anfang an. In die Ausgabe muss ich wissen, wenn ein Konto eine Anfrage auf die Datei oder nicht. Ein Antrag vorgelegt werden könnte, die unter einer Reihe von verschiedenen akzeptablen plan-codes, wie lange wir haben, aber seine akzeptabel. Ich habe auch Sorge, wenn es ist keine Anfrage auf die Datei an alle für ein bestimmtes Konto system mapping.
Ich werde zu aktualisieren, die Ausgabe, die tatsächliche Abfrage, die ich einfach nur von hand eingegeben eine Vorschau der Ausgabe nur die Konzentration auf die Spalten, die ich kümmerte sich seit einiger dupliziert wurden. Ich update es jetzt so sein, klar. Dank für das schauen an es
Größte Herausforderung hier ist die Verkettung von
Plan Codes
, da MS SQL Server nicht über eine direkte Analogon der GROUP_CONCAT
. Der rest scheint trivial.Danke. Ich fügte hinzu, die vollständige Ausgabe, die sollten deutlicher machen, sorry, ich hatte nicht von Anfang an. In die Ausgabe muss ich wissen, wenn ein Konto eine Anfrage auf die Datei oder nicht. Ein Antrag vorgelegt werden könnte, die unter einer Reihe von verschiedenen akzeptablen plan-codes, wie lange wir haben, aber seine akzeptabel. Ich habe auch Sorge, wenn es ist keine Anfrage auf die Datei an alle für ein bestimmtes Konto system mapping.
InformationsquelleAutor Yume | 2013-04-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht brauchen, um zu verketten Pläne, dann bitte sehen, ob Sie die folgenden
GROUP BY
Umsetzung könnte an Ihre Bedürfnisse anpassen. Ich entfernt mehrere Spalten für dieses Skript. Zur Einhaltung aggregate-query-Einschränkungen, die ich verwendetMAX
umC.PCODE
(dieMIN
) undMAX
fürC.REQUEST
scheint eine gute Wahl zu sein, um loszuwerdenNULL
s gibt.InformationsquelleAutor PM 77-1