表A id name fenshu zongfen
表B id tongji2张表没有主外键,只是单纯的2张表我想查询表A和表B表A查询全部数据 表B只查询最新插入tongji的一条记录select A.*, b.tongji from A
left join B on A.Id=b.Id 我只想查B表的第一条记录,其他的不查,应该怎么修改,或者用其他方法?谢谢!
表B id tongji2张表没有主外键,只是单纯的2张表我想查询表A和表B表A查询全部数据 表B只查询最新插入tongji的一条记录select A.*, b.tongji from A
left join B on A.Id=b.Id 我只想查B表的第一条记录,其他的不查,应该怎么修改,或者用其他方法?谢谢!
select A.*, b.tongji
from A
left join
(select * from B t where not exists (select 1 from B where tongji = t.tongji and id > t.id))B
on A.Id=b.Id
可是方法不行。还是会查询到tongji其他数据B表tongji下有很多数据 我只想查询到它最新插入的一条数据如
id tongji
1 300
2 500
3 600我只想查到 tongji “600” 这个数据 其他数据我不要,。谢谢!
select top 1 b.tongji,a.* from b left join a on b.id=a.id order by b.id desc
select A.*, b.tongji from A
left join B on A.Id=b.Id
and not exists (select 1 from B as tb where tb.id>B.id)--B最新插入tongji的一条记录和A表记录全部并列显示
select A.*, b.tongji from A,B
where not exists (select 1 from B as tb where tb.id>B.id)
select A.*, b.tongji
from A
left join
(select top 1 * from B order by id desc)B
on A.Id=b.Id
left join (select top 1 * from 表b order by id desc ) 表c
on 表a.id=表c.id
from A
用这个,包OK。
LEFT JOIN (SELECT id,tongji FROM B WHERE b.id=(SELECT MAX(id) FROM B)) AS C ON A.Id=C.Id
select * from A where id=(select top 1 id from B)
from A
where id=(select top 1 id from B)
left join (select top 1 * from B order by id desc)b on A.Id=b.Id