作者cutecpu (可爱中央处理器)
看板Database
标题Re: [SQL ] 交叉查询问题
时间Wed Nov 2 00:24:41 2011
SELECT A.CHINA,B.SCORE
FROM A
LEFT JOIN B ON A.NAME = B.NAME
LEFT JOIN (
SELECT NAME,MAX(DATE) AS DATE
FROM B
GROUP BY NAME
) C ON A.NAME = C.NAME AND B.DATE = C.DATE
※ 引述《terrybob (罪云樵)》之铭言:
: 使用的是mysql,我想要找出a表中,每一个学生,
: 他在b表里,最新日期(数字最大日期越新)的分数(score)…
: 烦请赐教!谢谢!
: ps:b表的资料会一直增加,所以不能锁定date=3333的方式去作查询。
: -------------------
: [A表]
: id name china
: 1 a 王大明
: 2 b 丁小雨
: 3 c 路人甲
: 4 d 路人乙
: 5 e 路人丁
: -------------------
: [B表]
: id name score date
: 1 a 100 11111
: 2 a 80 22222
: 3 a 70 33333
: 4 b 85 11111
: 5 b 60 22222
: 6 b 90 33333
: 7 c 40 11111
: 8 c 50 22222
: 9 c 30 33333
: 10 d 40 11111
: 11 d 50 22222
: 12 d 80 33333
: -------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.167.194.52