需要您的帮助解决以下问题。我使用下面的查询来获取详细信息。
当lob
在lob1
和lob2
中时,我想在ID列上连接,否则我想使用"要连接的列
SELECT a.column1,b.column1
FROM table1 a
INNER JOIN table2 b
ON a.region=b.region
AND CASE WHEN a.lob IN ('lob1','lob2')
THEN a.id=b.id ELSE a.no=b.no
您可以选择UNION ALL,并将这两个语句作为两个单独的SELECT子句,如下所示:
SELECT a.column1,b.column1
FROM table1 a
INNER JOIN table2 b
ON a.region=b.region
AND a.id=b.id
WHERE a.lob IN ('lob1','lob2')
UNION ALL
SELECT a.column1,b.column1
FROM table1 a
INNER JOIN table2 b
ON a.region=b.region
AND a.no=b.no
WHERE a.lob NOT IN ('lob1','lob2')