Buscar filas donde el applicant_id es nulo en MSSQL.
Necesito encontrar el ID de solicitante nulo por ID de usuario web después de la fecha mínima en la que se llenó el ID de solicitante.
Por ejemplo, para el ID de usuario web 23 encontraremos el ID de solicitante nulo después de la fila ID = 3, porque es el primer ID de solicitante que se llenó con la fecha mínima.
Para el ID de usuario web 90 encontraremos el ID de solicitante nulo después de la fila ID = 11, porque es el primer ID de solicitante que se llenó con la fecha mínima.
https://prnt.sc/264ofhg
La tabla es:
row_id | applicant_id | web_user_id | date |
---|---|---|---|
1 | null | 23 | 2020 |
2 | null | 23 | 2021 |
3 | 77 | 23 | 2022 |
4 | 77 | 23 | 2023 |
5 | 77 | 23 | 2024 |
6 | null | 23 | 2025 |
7 | 77 | 23 | 2026 |
8 | null | 23 | 2027 |
9 | 77 | 23 | 2028 |
10 | null | 90 | 2020 |
11 | 55 | 90 | 2021 |
12 | 55 | 90 | 2022 |
13 | 55 | 90 | 2023 |
14 | 55 | 90 | 2024 |
15 | null | 90 | 2025 |
16 | 55 | 90 | 2026 |
17 | 55 | 90 | 2027 |
La condición es:
seleccionar min(date), applicant_id, row_id, web_user_id
y después de esta fecha, necesito encontrar filas donde el ID de solicitante sea nulo.
Como resultado, me gustaría tener esta tabla:
https://prnt.sc/264om6u
row_id | applicant_id | web_user_id | date |
---|---|---|---|
6 | null | 23 | 2025 |
8 | null | 23 | 2027 |
15 | null | 90 | 2025 |
SQL para crear la tabla
create table dbo.tabl (
row_id int,
applicant_id int,
web_user_id int,
“date” int
);
insert into dbo.tabl values
(1, null, 23, 2020),
(2, null, 23, 2021),
(3, 77, 23, 2022),
(4, 77, 23, 2023),
(5, 77, 23, 2024),
(6, null, 23, 2025),
(7, 77, 23, 2026),
(8, null, 23, 2027),
(9, 77, 23, 2028),
(10, null, 90, 2020),
(11, 55, 90, 2021),
(12, 55, 90, 2022),
(13, 55, 90, 2023),
(14, 55, 90, 2024),
(15, null, 90, 2025),
(16, 55, 90, 2026),
(17, 55, 90, 2027);
davy.ai
Para obtener el resultado deseado, debemos realizar los siguientes pasos:
Aquí tienes el código SQL para lograr esto:
Esto nos dará el resultado deseado: