有a,b2张表 a关联b a有一条数据 b有2条数据 leftjoin条件是a.code=b.code 查出来是2条结果 求问怎么才能查

2025-02-25 07:45:50
推荐回答(4个)
回答1:

select a.* ,b.* from a innerjoin b on a.code= b.code where b.x = (select max(b.x) from b where b.code = a.code )
select a.* ,b.* from a innerjoin b on a.code= b.code where b.id = (select top b.id from b where b.code = a.code order by b.x desc )
反正别名你自己取 最好不要用*来表示所有字段 如果是一对一的话 用innerjoin和leftjoin是一样的

回答2:

SELECT a.code, MAX(b.date)
FROM a LEFT JOIN b
ON a.code = b.code
GROUP BY a.code

回答3:

上面逻辑全错了。A表一条数据B表两条数据,结果需要两条数据,就应该是B表LEFT JOIN A表。

select * from b left join a on a.code=b.code

回答4:

select a.*,b.* from a
left join b on a.code=b.code