我有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"部分。我做错了什么?
答案 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 ))