SQL的问题(30分)

  • 主题发起人 主题发起人 fstao
  • 开始时间 开始时间
F

fstao

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个表Table1,其字段为别为No、Name和Total,其数据如下:
Table1
No Name Total
1 a
101 b
10101 c 20
10102 d 10
102 e 30
2 f
201 g 10
202 h 20
当执行一个段代码,则数据变为:
Table1
No Name Total
1 a 60
101 b 30
10101 c 20
10102 d 10
102 e 30
2 f 30
201 g 10
202 h 20

因为101包含10101和10102,所以101的Total=30,而1包含101和102,所以1的Total=60。2包含201和202,所以2的Total=30。其语句如下:
Oracle的写法是:
select ax.no, sum(bx.total) as total
from table ax, table bx where
(bx.no like concat(ax.no, '%'))
group by ax.no

但MSSQL7又如何写这个SQL呢?
 
SELECT ax.no, SUM(bx.total) AS total
FROM table1 ax, table1 bx
WHERE (bx.no LIKE (RTRIM(ax.no) + '%'))
GROUP BY ax.no
 
That's Right!
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部