SQL查询:两个表合并内容查询!

来源:百度知道 编辑:UC知道 时间:2024/07/04 14:59:30
求教一下! 我有两个表,格式如下:
A表
ID 操作类别 日期 (←字段名)
101 收入 2009-4-13 (←内容)
102 发出 2009-4-14
103 收入 2009-4-15
104 发出 2009-4-15
(PS:A表为操作记录,"操作类别"字段指明此条记录是"收入"还是"发出")
B表
ID 数量 (←字段名)
101 1500 (←内容)
102 800
103 600
104 500
(PS:B表为详细内容,主要记录数值,以ID对应A表的操作类别)

两个表以ID为关联,需要查询名称为ABC的收入和发出情况.查询的结果用DataGrid显示,需要显示的格式为:

名称 收入数 发出数 (←标题)
ABC 2100 1300 (←内容)

请高手们支招啦!
哎,B表漏了一个字段:名称 (ABC是填在B表的名称字段的)
patch1001: decode 提示为不可识别函数啊??

PS:我是用的是 VB6 + SQL Server 2000

2楼的语法错了,但是语意是正确的。。
select b.名称,
sum(case 操作类别 when '收入' then 数量 else 0 end)收入数,
sum(case 操作类别 when '发出' then 数量 else 0 end)发出数
from a,b
where a.id = b.id
and b.名称= 'ABC' group by b.名称
因为使用了聚合函数 所以要进行分组 。。。

ABC哪来的?

select b.名称,
sum(case 操作类别 when '收入' then 数量 else 0 end)收入,
sum(case 操作类别 when '发出' then 数量 else 0 end)发出
from a,b
where a.id = b.id
and b.名称= 'ABC';

假设 名称这个字段在A表中,字段名叫cname
select a.cname,
sum(decode(a.czlx,'收入',b.sl,0)) ,srs,
sum(decode(a.czlx,'发出',b.sl,0)) ,fcs
from a,b
where a.id = b.id
and a.cname = 'ABC';