INNER JOIN到SELECT语句

时间:2017-12-16 19:57:41

标签: mysql phpmyadmin

我有2个表,主要和次要,具有相同的列。它们共享一个参考号,其中包含一些重复的条目和一些独有的条目。我试图从它们中进行查询,以便从ref中选择所有主要内容,然后选择所有剩余的内容。

这就是我的尝试:

SELECT * FROM primary as p
INNER JOIN 
(SELECT * FROM primary WHERE ref NOT IN ( SELECT ref from secondary ) as s)
ON p.ref = s.ref

我收到一个语法错误,似乎与最后一个" ON p.ref = s.ref"部分。我做错了什么?

2 个答案:

答案 0 :(得分:0)

不确定,代码实际上是否会尝试实现,但语法错误与最后一个结束括号相关联。试试这个:

SELECT * FROM primary as p
INNER JOIN 
(SELECT * FROM primary WHERE ref NOT IN ( SELECT ref from secondary )) as s
ON p.ref = s.ref

答案 1 :(得分:0)

我和INNER JOIN走错了路。使用UNION让我得到了我想要的结果。

SELECT * FROM primary
UNION
(SELECT * FROM secondary WHERE ref NOT IN ( SELECT ref from primary ))