现有几个表共用一个分类表,
想将这几个表的分类汇总结果放在一个页面(同一个表格)中输出,
有什么好的解决办法吗?
问题好象主要出在where子句上,
如果仅是一个表tb2使用一个分类表tb1,可以用
select sum(tb2.col3) from tb1,tb2 where tb1.col=tb2.col group by
tb1.col
的形式,如果是两个表tb2,tb3使用一个分类表tb1,却无法使用
select sum(tb2.col3),sum(tb3.col5) from tb1,tb2,tb3 where
tb1.col=tb2.col and tb1.col=tb3.col group by tb1.col
的形式,该语句运行后的数据明显错误,
不知是什么原因?
如何解决?
要求用一个sql语句解决以上问题,
谢谢
join (select col,SUM(col3) col3 from tb2 group by col) b on a.col=b.col
join (select col,SUM(col5) col5 from tb3 group by col) c on a.col=c.col
数据库是access,
该语句运行错误,
请问access下sql语句该如何写呢?
如果只能用在sqlserver上的话,
移植会出现麻烦的。
关于数据库表结构及数据,可以参考以下数据:
表tb1,一个文本字段col:
col
a
b
表tb2,一个文本字段col和一个数字字段col3:
col col3
a 1
a 2
b 3
b 4
表tb3,一个文本字段col和一个数字字段col5:
col col5
a 5
a 6
b 8执行sql语句后,需要得到查询结果:
col sumtb2 sumtb3
a 3 11
b 7 8
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders)
AS a
from
(tb1 a inner join
(select col,sum(col3) as sumtb2 from tb2 group by col) b
on a.col=b.col)
inner join
(select col,sum(col5) as sumtb3 from tb3 group by col) c
on a.col=c.col楼主,给分吧。下午下班希望看到分数,嘿嘿。