a表
b表
如图两张表,我想查询到以a表为基准,无重复的结果。sql语句怎么写呢?
我目前是
SELECT DISTINCT a.* , b.tracking_number left join b on a.sid=b.sid
因为跟踪号不一样,所以就会出现2个张三,我需要根据sid只保留1个可以吗?怎么实现?不用管忽略掉的tracking_number是哪一个
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
5 回答1.4k 阅读
有些数据库不需要 max(),直接给 tracking_number 就行。SQLite 可以,MySQL 可能得行,SQL Server 我记得很老的版本是不行的,现在不知道行不行了。
我在 MySQL 上测试的不需要使用函数 (ver: 8.0)
如果需要使用函数的情况,在主键上用,然后多关联 b 一次把其他信息带出来