Итак, у меня есть простой запрос с 2 строками:
SELECT DISTINCT
o.OrderNo,
CASE
WHEN od.PartNo LIKE '%Amend%' AND od.User_Currency2 IS NOT NULL THEN od.User_Currency2
WHEN od.PartNo LIKE '%Amend%' AND od.User_Currency1 IS NOT NULL THEN od.User_Currency1
ELSE o.OrderTotal
END AS [OrderTotal]
FROM OrderDet od
JOIN Orders o ON od.OrderNo = o.OrderNo
WHERE o.OrderNo LIKE '%E'
ORDER BY o.OrderNo
В моем операторе CASE для каждого ордера, если выполнено 1-е условие, я хочу, чтобы оно возвращало только это и игнорировало 2 других параметра, то же самое для условия # 2, и если первые 2 условия не выполняются, тогда по умолчанию ДРУГОЕ
Проблема в том, что я получаю несколько строк на заказ, как вы можете видеть ниже:

Как я могу ограничить только 1 запись на заказ? Я думал, что оператор CASE оценивается по порядку и выдает только 1 значение, но в моем случае каждый заказ возвращает несколько результатов из оператора CASE для каждого заказа