Не могли бы вы предложить, как я могу избежать дублирования значений для приведенного ниже сценария.избегая повторяющихся строк SQL Server
Я использую функцию datediff
, для которой мой второй параметр получает больше одной строки и вызывает ошибку.
SELECT COALESCE(DATEDIFF(DAY,'1987-01-19 00:00:00.000',(SELECT CASE WHEN B.BILLDATE IS NULL THEN COALESCE(MIN(B.DUEDAY),0) ELSE COALESCE(MIN(B.BILLDATE),0) END BILL_DATE
FROM BILL B WHERE b.ORDERNR IN('2684667') GROUP BY BILLDATE)),0) res_col
Для моего второго параметра я получаю два значения. это может быть из-за предложения group by
в моем подзапросе.
Для справки: один из колонки B.DUEDAY
и B.BILLDATE
может быть пустым
или оба из них также может быть пустым.
Не могли бы вы предложить, как я могу получить желаемый результат?
любая причина, по которой вы хотите группировать «BILLDATE»? Вы также используете 'MIN (B.BILLDATE)' в своем подзапросе. – ughai
Мне не нужен оператор group by, но мне пришлось использовать для коррекции синтаксиса. Я просто хочу, если billdate имеет значение null, а затем min (dueday) else min (billdate). – Mofizur