У меня есть таблица:
Client_ID Day
------------------
1804 2018-10-22
1804 2018-10-23
1804 2018-10-24
1804 2018-10-25
1804 2018-10-26
1804 2018-10-29
1804 2018-10-30
1804 2018-10-31
1804 2018-11-02
1317 2018-10-24
1317 2018-11-23
Теперь я хочу взять разные значения каждого столбца и (возможно, с помощью оператора while) проверить все значения столбца даты и иметь еще один столбец с утверждением true или false, если этот идентификатор был на эту дату. Поэтому результат должен выглядеть так:
Day Client_ID Occur
-------------------------
2018.10.22 1804 TRUE
2018.10.23 1804 TRUE
2018.10.24 1804 TRUE
2018.10.25 1804 TRUE
2018.10.26 1804 TRUE
2018.10.29 1804 TRUE
2018.10.30 1804 TRUE
2018.10.31 1804 TRUE
2018.11.02 1804 TRUE
2018.11.23 1804 FALSE
2018.10.22 1317 Does not exist
2018.10.23 1317 Does not exist
2018.10.24 1317 TRUE
2018.10.25 1317 FALSE
2018.10.26 1317 FALSE
2018.10.29 1317 FALSE
2018.10.30 1317 FALSE
2018.10.31 1317 FALSE
2018.11.02 1317 FALSE
2018.11.23 1317 TRUE
Для 1 идентификатора я могу получить результат по этому запросу:
SELECT DISTINCT
[Day],
CASE
WHEN Client_ID = '1804'
THEN 1
ELSE 0
END AS Occur
FROM
table
Но мне нужно, чтобы пройти через все различные значения столбца Day
. И если самая низкая дата некоторого идентификатора выше, чем самая низкая дата в столбце «День», то результат должен быть другим. Допустим, «не существует» (но это может быть что угодно). Здесь мне нужна помощь.