F
fstao
Unregistered / Unconfirmed
GUEST, unregistred user!
用Oracle8.04建立一个表kmsz,其数据如下:
kmsz
kmbm kmmc qcye
101 a
10101 b 10
10102 c 20
102 d
10201 e 30
111 f
201 g 40
如果这样写SQL语句:
select ax.kmbm,sum(bx.qcye) as qcye
from fstao.kmsz ax, fstao.kmsz bx where
(bx.kmbm like concat(ax.kmbm, '%'))
group by ax.kmbm
运行的结果是:
kmsz
kmbm qcye
101 30
10101 10
10102 20
102 30
10201 30
111
201 40
但我想显示Kmmc的数据,我这样写:
select ax.kmbm,sum(bx.qcye) as qcye,cx.kmmc
from fstao.kmsz ax, fstao.kmsz bx,fstao.kmsz cx where
(bx.kmbm like concat(ax.kmbm, '%'))
group by ax.kmbm,cx.kmmc
一运行时,出现很多重复数据(数据太多,所以不能列出),而不是:
kmsz
kmbm kmmc qcye
101 a 30
10101 b 10
10102 c 20
102 d 30
10201 e 30
111 f
201 g 40
请问如何修改SQL语句? 或者用其它方法?但有一点,表kmsz里的数据不止
这么多,有可能几百条或几千条数据。多谢!另外给一个Update的写法。
kmsz
kmbm kmmc qcye
101 a
10101 b 10
10102 c 20
102 d
10201 e 30
111 f
201 g 40
如果这样写SQL语句:
select ax.kmbm,sum(bx.qcye) as qcye
from fstao.kmsz ax, fstao.kmsz bx where
(bx.kmbm like concat(ax.kmbm, '%'))
group by ax.kmbm
运行的结果是:
kmsz
kmbm qcye
101 30
10101 10
10102 20
102 30
10201 30
111
201 40
但我想显示Kmmc的数据,我这样写:
select ax.kmbm,sum(bx.qcye) as qcye,cx.kmmc
from fstao.kmsz ax, fstao.kmsz bx,fstao.kmsz cx where
(bx.kmbm like concat(ax.kmbm, '%'))
group by ax.kmbm,cx.kmmc
一运行时,出现很多重复数据(数据太多,所以不能列出),而不是:
kmsz
kmbm kmmc qcye
101 a 30
10101 b 10
10102 c 20
102 d 30
10201 e 30
111 f
201 g 40
请问如何修改SQL语句? 或者用其它方法?但有一点,表kmsz里的数据不止
这么多,有可能几百条或几千条数据。多谢!另外给一个Update的写法。