ich einen Tisch haben, durch die ich einige Daten jetzt unterkombinieren mehrere Zeilen in einer SQL
col1 col2 col3 col4 col5 col6 col7
------------------------------------------------------------
SA106141 ABC test 1400 0 0 58800
SA106141 ABC test 1100 53963 54 54017
SA106141 ABC test 3000 141184 141 141325
SA106141 ABC test 2800 154548 155 154703
SA106141 ABC test 1500 79042 79 79121
SA106141 ABC test -9800 -487967 0 0
aber die gewünschte Ausgangs
col1 col2 col3 col4 col5 col6 col7
SA106141 ABC test 0 -59229 429 0
gegeben bin immer sein sollte, Dies ist die Abfrage Ich habe so weit:
SELECT DISTINCT
col1, col2, col3,
ISNULL(SUM(QTY), 0) AS col4,
ISNULL(SUM(NET_AMT), 0) AS col5,
ISNULL(SUM(STT), 0) AS col6,
CASE
WHEN ISNULL(SUM(grand_total), 0) <= 0
THEN 0
ELSE ISNULL(SUM(grand_total), 0)
END AS col7
FROM
(SELECT
Dates, TR_DT, TR_NO, SA, GRP, ID, SAID, Exch, Code,
Client, SCRIPT, BUYSELL, QTY, NT_RT, NET_AMT,
QTY * NT_RT AS New_Net_amt,STT,
ISNULL(NET_AMT + STT,QTY * NT_RT) AS grand_total,
CAST(SA + GRP + ID + SAID AS VARCHAR(50)) AS testid
FROM
testtable
GROUP BY
CAST (SA + GRP + ID + SAID AS VARCHAR(50)), Dates, TR_DT,
TR_NO, Exch, Code, Client, SCRIPT, BUYSELL, QTY,
NT_RT, NET_AMT, STT, SA, GRP, ID, SAID) t
GROUP BY
t.testid, t.Dates, t.Client, t.SCRIPT
ORDER BY
t.Client, t.testid, t.SCRIPT, t.Dates ASC
Bitte helfen
Können Sie die Logik erklären, die benötigt wird, um die Zeilen zu kombinieren? Was genau ist das Problem mit der Abfrage, die Sie derzeit haben? – Mureinik
die Logik ist col2 haben mehrere Datensätze von ABC Ich brauche nur einzelne ABC und in dieser Summe von col4 in col4 und col5 und col 6 und abc kann mit mehreren Benutzern wie Test 1 Test 2, Test3 soi brauchen eine Abfrage, die test1 abc zeigt col4 gesamt col5 gesamt col6 gesamt –
die Frage, die Sie eingefügt haben, scheint keine Beziehung mit der Logik zu haben, die Sie hier erklärt haben. Es gibt viel mehr Spalten in dieser Abfrage verwendet !!! – Hybridzz