简化SQL查询而不是使用连接

时间:2013-10-03 23:47:31

标签: mysql sql

我正在尝试运行如下所示的代码。这个子查询从与主查询相同的表中拉出 - 唯一的约束是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

1 个答案:

答案 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命令。