我正在尝试从一个连接到另一个表的表中获取信息,但我只想要没有重复数据的行。这很难解释,所以这是一个例子:
table1
----------
id | data1 | data2
1 | x | x
2 | x | x
3 | x | x
4 | x | x
table2
----------
id | table1_id | data1
1 | 1 | x
2 | 2 | x
3 | 2 | x
4 | 3 | x
在这种情况下,我希望从表2中获取行1和4,而不是第2行和第3行,因为表ID重复
答案 0 :(得分:3)
您不需要第一个表格。只需使用
select table1_id
from table2
group by table1_id
having count(*) < 2
获取table1_id
。如果您需要完整的行,可以使用
select * from table2
where table1_id in
(
select table1_id
from table2
group by table1_id
having count(*) < 2
)
在Mysql中你可以改为
select *
from table2
group by table1_id
having count(*) < 2
但这个特点很危险。