主表A,子表B,A表一对多B表,求显示A所有字段,B表字段时间M最大的一条数据的字段N,求SQL
发布网友
发布时间:2023-03-15 22:06
我来回答
共4个回答
热心网友
时间:2023-10-27 01:57
可以这样
select A.*,B.N from A,B where A.col1 = b.col1 and b.M = (select max(M) from B where B.col1 = A.col1)
另外如果A中有但B中没有的也要显示的话可以改为左外连接
select A.*,B.N from A left join B on A.col1 = b.col1 where b.M = (select max(M) from B where B.col1 = A.col1)
热心网友
时间:2023-10-27 01:58
select * from A
left join (select B.id,max(M) from B group by B.id) t1
on A.id=t1.id
热心网友
时间:2023-10-27 01:58
只能根据你写的 猜测你要的结果
select a.*,b.N from A a inner join (select top 1 关联字段,N from B order by M desc ) b on a关联字段. = b.关联字段
热心网友
时间:2023-10-27 01:59
select *,( select n from b where m=(select max(m) from b where id=a.id) and rownum<2) from a
oracle数据库,如果sql的话,需要将rownum换成其他的,任意取一个
感觉有问题,M如果有重复怎么办?随便取一个吗?