首页 新闻 会员 周边

看看这条语句怎么写,实在搞不清了

0
悬赏园豆:50 [已解决问题] 解决于 2008-08-13 09:55
<P>A表<BR>列名&nbsp;&nbsp;&nbsp;&nbsp; 说明<BR>ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编号<BR>Name&nbsp;&nbsp;&nbsp;&nbsp; 名称</P> <P>B表<BR>列名&nbsp;&nbsp;&nbsp;&nbsp; 说明<BR>ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编号(与A表中的ID关联)<BR>Value1&nbsp;&nbsp; 值1<BR>Value2&nbsp;&nbsp; 值2<BR>Value3&nbsp;&nbsp; 值3<BR>Time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 时间<BR>--------------------------------------------------<BR>查询A表中ID&nbsp; Name 以及B表中的最新时间所对就的Value1&nbsp; Value2&nbsp; Value3 ,如果B表中不存在的记录用null表示<BR>最好不要用这种查询</P> <P>select *,(select top 1 value1 from B where B.id=A.id order by time desc) as value1 from A </P> <P>A表中<BR>ID&nbsp;&nbsp;&nbsp;&nbsp; Name<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A<BR>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B<BR>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C<BR>B表中<BR>ID&nbsp;&nbsp;&nbsp; Value1&nbsp;&nbsp;&nbsp; Value2&nbsp; Value3 Time<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2008-1-1<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2008-1-2<BR>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2008-1-1<BR>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2008-1-10</P> <P>最后结果<BR>ID&nbsp;&nbsp; Name&nbsp; Value1&nbsp;&nbsp;&nbsp; Value2&nbsp; Value3<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6<BR>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; null</P> <P>&nbsp;</P>
liy的主页 liy | 初学一级 | 园豆:30
提问于:2008-08-13 09:02
< >
分享
最佳答案
0
SELECT A.ID, A.Name, B.Value1, B.Value2, B.Value3 FROM B INNER JOIN( SELECT ID, MAX(Time) AS Time FROM B GROUP BY ID ) AS C ON B.ID = C.ID AND B.Time = C.Time RIGHT OUTER JOIN A ON C.ID = A.ID
丁学 | 专家六级 |园豆:18730 | 2008-08-13 09:30
其他回答(1)
0
Jared.Nie | 园豆:1940 (小虾三级) | 2008-08-13 09:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册