我通过互联网搜索但找不到我要找的东西,可能是因为我不知道该搜索什么。
我的问题是从多个表中获取非重复记录......
如果我有两张表如下,
tableA
----------------------
code ip
1 111.168.1.2
2 111.222.333.333
3 111.168.1.2
4 111.234.2.44
5 111.23.455.44
tableB
----------------------
code ip ISP
1 111.222.333.333 newtwo
2 111.168.2.2 anon
3 111.333.453.567 def
4 111.168.2.2 tele
5 111.222.333.333 new
6 111.333.544.3 ispnew
我希望摆脱这一点,
ip
111.234.2.44
111.23.455.44
111.333.453.567
143.333.544.3
我一直试过UNION,DISTICNT和DISTINCT AND UNION,
SELECT DISTINCT IP FROM(SELECT IP FROM tableA UNION SELECT IP FROM tableB)
但它给出了所有值的唯一重复,如下所示,
ip
111168.1.2
111.222.333.333
111.234.2.44
111.23.455.44
111.168.2.2
111.333.453.567
111.333.544.3
请帮助我这一个,我会非常满意......非常感谢你:)
答案 0 :(得分:4)
DISTINCT
只给出一次条目,但不会完全抛弃重复的条目。您必须使用GROUP BY
,COUNT
和HAVING
来摆脱这些:
SELECT
IP
FROM
(
SELECT IP FROM tableA
UNION ALL
SELECT IP FROM tableB
)
GROUP BY
IP
HAVING
COUNT(*) = 1