Первое сообщение здесь.Корпус в группе По разделу
Нижеприведенный запрос работает ОК и получает мне цифры, которые мне нужны. Проблема в том, что я должен иметь столбец oh.paid
в предложении GROUP BY
для запуска запроса. Это дает мне два результата за oh.unitname
, мне бы это понравилось.
Я искал вокруг и нашел некоторые связанные проблемы, но решения не работали по моему запросу.
Надеюсь, что некоторые дружелюбные души могут указать мне в правильном направлении.
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;
Вы хотите получить одну или две суммы? – jarlh
У вас есть несколько строк, один с oh.paid = 1 и другими/s с oh.paid <> 1? –
Привет, колонка oh.paid имеет 1 при оплате, а затем 0, если не оплачена. я хотел бы суммировать их, чтобы получить общую оплаченную и неплатежеспособную ... надеюсь, что это имеет смысл. – Tommel