Вернуть совпадающие даты проверок для сотрудников, но получить предыдущие даты проверок, которые соответствуют общей сумме проверок SQL - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь отобразить дату расчета для сотрудников, которые получили чек на самую последнюю дату проверки. Однако, когда я ввожу следующее, оно возвращает сотрудников несколько раз, если сумма их чека совпадает с предыдущим чеком. Разве это не должно возвращать даты, которые совпадают с текущей датой проверки, в отличие от возврата предыдущих дат проверки с той же валовой оплатой?

        WHEN ext.TerminationDate IS NULL AND @CheckDate = f.CheckDate THEN format(@CheckDate,'yyyyMMdd')

f - это таблица, из которой я извлекаю даты, а @checkdate - это параметр. Кто-нибудь знает, что вызывает эту проблему?

1 Ответ

0 голосов
/ 04 февраля 2020

Насколько вы настроили оператор WHEN, похоже, что вы настроили его как столбец в операторе SELECT. Если это то, где это находится, то ваш скрипт ничего не фильтрует. Вы просто проверяете, соответствует ли текущая строка вашей переменной, и затем возвращаете вашу переменную (после форматирования).

Вот как я бы посмотрел на формирование вашего запроса:

select OtherColums, format(f.CheckDate, 'yyyyMMdd') from f where f.CheckDate = @CheckDate

Это будет Отфильтруйте только те записи, столбцы checkDate которых равны вашей переменной. Если это не помогает, предоставьте больше информации, потому что код, который вы предоставили, не дает нам большого контекста.

...