表 1(数字主键(:
- ID-1, 编号-123, 名称-ASD
- ID-2, 编号-124, 名称-ASD
表2(数字可以重复,id包(:
- ID-1, 编号-123, 名称-ASD
- ID-2, 编号-123, 名称-DAS
- ID-3, 编号-124, 名称-RRR
- ID-4, 编号-124, 名称-ASX
想要的输出:
124, asd
我必须将第一个表行与第二个表中的行进行比较。
如果第 1 行不等于第二个 where a.number = b.number
中的每一行,那么我们应该执行 select * from table1
.
如果我们找到一个匹配的行(在表 1 和表 2 之间(,那么我们不应该执行上面找到的选择查询。
更新: 我怎样才能比较这样的 3 张桌子?
一个简单的选择左连接两个表,并筛选第二个表没有数据的行应该会给出您想要的结果。
SELECT *
FROM table1 a
LEFT JOIN table2 b
ON a.number = b.number AND a.name = b.name
WHERE b.id IS NULL