Erster Beitrag hier.Fall in der Gruppe Nach Klausel
Die Abfrage unten läuft OK und bringt mir die Zahlen, die ich brauche. Das Problem ist, dass ich die oh.paid
-Spalte in der GROUP BY
-Klausel für die Abfrage ausführen muss. Das gibt mir zwei Ergebnisse pro oh.unitname
, ich möchte nur eins.
Ich habe gesucht und einige verwandte Probleme gefunden, aber die Lösungen funktionierten nicht auf meine Abfrage.
Hoffen einige freundliche Seelen da draußen können mich in die richtige Richtung zeigen.
SELECT oh.unitname,
oh.CostCode,
CASE
WHEN oh.Paid = 1
THEN 'Kr '+CONVERT(VARCHAR(50), CAST(SUM(oh.paidsum * oh.ExchangeRate) AS MONEY), -1)
ELSE 'Kr '+CONVERT(VARCHAR(50), CAST(SUM(oh.totalprice * oh.ExchangeRate) AS MONEY), -1)
END AS Price
FROM dbo.OrderHead oh
WHERE oh.RowDeleted = 0
AND oh.UnitName LIKE '%%'
AND oh.DateCreated >= '2016-01-01'
AND oh.DateCreated < '2016-12-30'
AND oh.CostCode = 1
GROUP BY oh.UnitName,
oh.CostCode,
oh.Paid
ORDER BY oh.UnitName;
Willst du ein oder zwei Summen in das Ergebnis? – jarlh
Haben Sie mehrere Zeilen, eine mit oh.paid = 1 und andere/s mit oh.paid <> 1? –
Hallo, die oh.paid-Spalte haben 1 wenn bezahlt und dann 0 wenn nicht bezahlt. Ich möchte die beiden summieren, um eine Summe bezahlt und nicht bezahlt zu bekommen ... Hoffnung, die Sinn macht. – Tommel