Dankeschön!
, Ok für das genannte Beispiel passt das nun wenn ich "BN.Total_Std" weg lasse in der Group-Klausel.
Ich hatte auf Uwes Hinweis deswegen nicht reagiert, weil ich aus Nichtwissen davon ausgegangen war, dass in der Group by-Klausel immer
alle Spalten enthalten sein müssen die im Select stehen. Da muss ich mich wohl noch etwas schlauer machen.
Nun, das gezeigte
SQL war "natürlich" nur ein Ausschnitt.
Jetzt habe ich folgendes (immer noch reduziertes)
SQL Statement:
Code:
SELECT
SELECT
MAX(BN.TOTAL_STD),
CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')',
BA.AUFTRAGTEXT, -- <-- diese Zeile bewirkt, dass mehrere Zeilen pro Mitarbeiter und pro Tag angezeigt werden !
BN.DATUM,
SQ.KOMMENTAR,
B_zwei.ABTBEZEICHNUNG,
DATEPART(wk, CONVERT(VARCHAR(8), BN.DATUM, 112)) "KW",
1 "Zähler"
FROM ZEITRUECKMELDUNGEN BN
LEFT JOIN KTORECHWERTE SW ON BN.PERSREC_ID = SW.PERSID
AND CONVERT(VARCHAR(8), SW.DATUM, 112) = BN.DATUM
LEFT JOIN KTORECHANZWERTE SQ ON SW.DEFINITIONID = SQ.IDENTIFIKATION
LEFT JOIN PERSONALSTAMM CA ON BN.PERSREC_ID = CA.IDENTIFIKATION
LEFT JOIN AUFTRAGSTAMM BA ON BN.AUFTRAGSNUMMER = BA.AUFTRAGSNR COLLATE Latin1_General_BIN
LEFT JOIN ABTEILUNG B_zwei ON CA.ABTEILUNG = B_zwei.ABTEILUNGNR
WHERE
BN.DATUM >= '2019-01-01'
AND BN.DATUM <= '2020-07-01'
AND BN.TOTAL_STD <> ' 0.00'
AND SW.DEFINITIONID IN (413, 414, 415)
AND SW.WERT > 0
AND BN.STATUS_BEGINN IN ('N', 'E')
GROUP BY CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')',
BA.AUFTRAGTEXT,
BN.DATUM,
SQ.KOMMENTAR,
B_zwei.ABTBEZEICHNUNG
ORDER BY CA.NAME + ', ' + CA.VORNAME + ' (' + LTRIM(PERSNR) + ')',
BN.DATUM
Hiermit werden nun wieder mehrere Zeilen pro Tag und pro Person angezeigt. Wenn ich BA.AUFTRAGTEXT entferne funktioniert alles und es wird nur eine Zeile pro Tag und Pro Person ausgewiesen.
Kann mir hier nochmal jemand auf die Sprünge helfen?