请教SQL语句 ( 积分: 50 )

  • 主题发起人 主题发起人 lasmai
  • 开始时间 开始时间
L

lasmai

Unregistered / Unconfirmed
GUEST, unregistred user!
有一表T结构如下<br>ID1 ID2 DD QTY<br>A A 2007-04-01 1000<br>A A 2007-04-03 2000<br>A B 2007-04-02 3000<br>A B 2007-04-30 4000<br>B A 2007-04-06 5000<br>B B 2007-04-08 6000<br>想求得相同ID1,ID2.最后日期(DD)的数量(QTY),上面数据就是得到<br>A A 2007-04-03 2000<br>A B 2007-04-30 4000<br>B A 2007-04-06 5000<br>B B 2007-04-08 6000<br><br>我自己想到的是<br>select&nbsp;a.*,&nbsp;b.qty&nbsp;from&nbsp;(select&nbsp;id1,&nbsp;id2,&nbsp;max(dd)&nbsp;as&nbsp;dd&nbsp;from&nbsp;t3&nbsp;group&nbsp;by&nbsp;id1,&nbsp;id2)&nbsp;a&nbsp;left&nbsp;join&nbsp;t&nbsp;b&nbsp;on<br>a.id1=b.id1&nbsp;and&nbsp;a.id2=b.id2&nbsp;and&nbsp;a.dd=b.dd<br><br>请大家帮助给出更简单的语句,谢谢
 
SELECT&nbsp;*&nbsp;FROM&nbsp;T<br>&nbsp;WHERE&nbsp;(ID1,&nbsp;ID2,&nbsp;DD)&nbsp;IN&nbsp;(SELECT&nbsp;ID1,&nbsp;ID2,&nbsp;MAX(DD)&nbsp;FROM&nbsp;T&nbsp;GROUP&nbsp;BY&nbsp;ID1,&nbsp;ID2);
 
to&nbsp;xianguo:<br>&nbsp;&nbsp;&nbsp;&nbsp;提示:&nbsp;','&nbsp;附近有语法错误。
 
看看,是全角还是半角?
 
to&nbsp;xianguo:<br>&nbsp;&nbsp;&nbsp;&nbsp;都是半角,是不是语法不能这样写?
 
什么数据库?
 
SELECT&nbsp;*&nbsp;FROM&nbsp;T<br>&nbsp;WHERE&nbsp;(ID1,ID2,DD)&nbsp;IN&nbsp;(SELECT&nbsp;ID1,ID2,MAX(DD)&nbsp;DD&nbsp;FROM&nbsp;T&nbsp;GROUP&nbsp;BY&nbsp;ID1,ID2);
 
我用的是MSSQL&nbsp;2000,不知道支不支持多个字段的In操作
 
select&nbsp;id1,&nbsp;id2,&nbsp;max(dd)&nbsp;as&nbsp;dd,qty&nbsp;from&nbsp;t3&nbsp;group&nbsp;by&nbsp;id1,&nbsp;id2<br>这样就行了嘛
 
常廣榮喜歡異想天開,我覺得好像在sql中的話你好像你自己寫的那個就差不多了吧,在oracle中xianguo寫的才行得通的
 
多人接受答案了。
 
后退
顶部