我正在尝试运行如下所示的代码。这个子查询从与主查询相同的表中拉出 - 唯一的约束是column3是/不是NULL。 有没有办法简化它?
SELECT a.column1, a.column2, b.column1, b.column2
FROM table1 a
INNER JOIN
(SELECT column1, column2
FROM table1
WHERE column3 IS NULL) b
ON a.column4 = b.column4
WHERE a.column3 IS NOT NULL
GROUP BY a.column1, a.column2, b.column1, b.column2
答案 0 :(得分:2)
编辑后:(在您的查询中b表中没有列4)
试试这个:
SELECT a.column1, a.column2, b.column1, b.column2
FROM table1 a
INNER JOIN table1 b
ON a.column4 = b.column4
WHERE a.column3 IS NULL
AND b.column3 IS NOT NULL
如果您认为在四列中有重复,则可以在字段列表中使用GROUP BY或DISTINCT命令。