Sample Header Ad - 728x90

How to Avoid Duplicates with multiple joins and multiple case statements

0 votes
1 answer
133 views
I have a query which has multiple joins and need case statements for multiple columns to get the correct data. Although I can manage to get the data, it creates a lot of duplicate rows. Seems like 1 row per case statement search. As an example the code is below. Any help will be appreciated. CREATE TABLE #TABLE1 (id INT, VAL INT, SAMP NVARCHAR(20)) INSERT INTO #TABLE1 VALUES (1,1,'1-1'),(1,2,'1-2'),(1,3,'1-3'),(2,1,'2-1'),(2,2,'2-2'),(3,1,'3-1') CREATE TABLE #TABLE2 (id INT, VAL INT) INSERT INTO #TABLE2 VALUES (1,1),(1,2),(1,3),(2,1),(3,1) SELECT CASE WHEN T2.id = 2 AND T1.VAL = T2.VAL THEN T1.SAMP END AS SAMPLE_2, CASE WHEN T2.id = 3 AND T1.VAL = T2.VAL THEN T1.SAMP END AS SAMPLE_3 FROM #TABLE1 T1 LEFT JOIN #TABLE2 T2 ON T1.id = T2.id DROP TABLE #TABLE1 DROP TABLE #TABLE2 Result ----------------- Sample2 | Sample3 NULL | NULL NULL | NULL NULL | NULL NULL | NULL NULL | NULL NULL | NULL NULL | NULL NULL | NULL 2-1 | NULL NULL | NULL NULL | 3-1 ===================== Preferred Result would be -----------------# Sample2 | Sample3 2-1 | 3-1 =====================
Asked by Gibbs Khan (1 rep)
Apr 16, 2024, 04:01 PM
Last activity: Apr 16, 2024, 05:16 PM