求牛人的一句简略的sql
求牛人的一句简单的sql
2张表:
A
structure: REC_NO,AID,.......
currentdata:1000 ,aaa,
B
structure: REC_NO,A_REC_NO,BID,DATE,.......
currentdata:2000 ,1000 ,bbb,10/10/2012,.....
:2001 ,1000 ,ccc,11/10/2012,.....
:2002 ,5000 ,ddd,15/10/2012,.....
关系 A.REC_NO=B.A_REC_NO
求 一条sql 输出结果集 A.AID,B.BID,其中B.BID是B.DATE 倒序第一条,其他的BID不要。
就这么简单 求高人了
------最佳解决方案--------------------
字段名最好不要用date,date是日期类型。。
------其他解决方案--------------------
------其他解决方案--------------------
感谢回复 ,可是可能误解我意思了
这是我根据你代码修改的
2张表:
A
structure: REC_NO,AID,.......
currentdata:1000 ,aaa,
B
structure: REC_NO,A_REC_NO,BID,DATE,.......
currentdata:2000 ,1000 ,bbb,10/10/2012,.....
:2001 ,1000 ,ccc,11/10/2012,.....
:2002 ,5000 ,ddd,15/10/2012,.....
关系 A.REC_NO=B.A_REC_NO
求 一条sql 输出结果集 A.AID,B.BID,其中B.BID是B.DATE 倒序第一条,其他的BID不要。
就这么简单 求高人了
------最佳解决方案--------------------
select a.aid,b3.bid
from a,
(select b1.a_rec_no,b1.bid
from b b1
where not exists (select 1
from b b2
where b1.a_rec_no = b2.a_rec_no
and b2.DATE > b1.DATE)) b3
where a.rec_no = b3.a_rec_no
字段名最好不要用date,date是日期类型。。
------其他解决方案--------------------
WITH table1 AS
(
SELECT '1000' AS REC_NO, 'aaa' AS AID FROM dual
),
table2 AS
(
SELECT '2000' AS REC_NO, '1000' AS A_REC_NO,'bbb' AS BID,'10/10/2012' AS DD FROM dual
union all
SELECT '2001' AS REC_NO, '1000' AS A_REC_NO,'ccc' AS BID,'11/10/2012' AS DD FROM dual
union all
SELECT '2002' AS REC_NO, '5000' AS A_REC_NO,'ddd' AS BID,'15/10/2012' AS DD FROM dual
)
SELECT AID,BID FROM(
SELECT * FROM TABLE2 T2 INNER JOIN TABLE1 T1 ON T2.A_REC_NO = T1.REC_NO ORDER BY DD DESC) WHERE ROWNUM = 1
------其他解决方案--------------------
感谢回复 ,可是可能误解我意思了
这是我根据你代码修改的
WITH table1 AS
(
SELECT '1000' AS REC_NO, 'aaa' AS AID FROM dual
union all
SELECT '1001' AS REC_NO, 'yyy' AS AID FROM dual
),
table2 AS
(
SELECT '2000' AS REC_NO, '1000' AS A_REC_NO,'bbb' AS BID,'10/10/2012' AS DD FROM dual