1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| -- table avec jeu de test --
-- code à copier --
CREATE TABLE #V_C_AuditValuesCL
(
LST_ID int,
VAL_ID int
)
insert into #V_C_AuditValuesCL (LST_ID,VAL_ID) values (357691,206991);
insert into #V_C_AuditValuesCL (LST_ID,VAL_ID) values (357691,353351);
insert into #V_C_AuditValuesCL (LST_ID,VAL_ID) values (357691,1);
insert into #V_C_AuditValuesCL (LST_ID,VAL_ID) values (357691,355361);
insert into #V_C_AuditValuesCL (LST_ID,VAL_ID) values (356231,206991);
insert into #V_C_AuditValuesCL (LST_ID,VAL_ID) values (356231,353301);
insert into #V_C_AuditValuesCL (LST_ID,VAL_ID) values (356231,1);
select * from #V_C_AuditValuesCL
--truncate TABLE #V_C_AuditValuesCL
WITH
CTE_NUMEROTE AS
(
SELECT
LST_ID,
VAL_ID,
ROW_NUMBER() OVER(PARTITION BY LST_ID ORDER BY VAL_ID) AS n
FROM dbo.#V_C_AuditValuesCL --where lng='FR'
)
SELECT N1.LST_ID,
N2.LST_ID AS ID_DUBLON
FROM CTE_NUMEROTE AS N1
JOIN CTE_NUMEROTE AS N2
ON
N1.VAL_ID = N2.VAL_ID
AND N1.n = N2.n
AND N1.LST_ID < N2.LST_ID
GROUP BY N1.LST_ID, N2.LST_ID |
Partager