这是GROUP BY的问题吗?
表1:SaledProduct
========================
sales_no saled_prod
100 1
101 2
102 1
103 3
104 1
表2:SalesInfo
========================
sales_no status
100 -1
101 1
102 1
103 -1
104 1
想得到如下结果
===========================================================
sales_no saled_prod total_sales total_saled_prod
101 2 3 4
102 1 3 4
104 1 3 4
我这样写的
SELECT sp.sales_no, sp.saled_prod, COUNT(sp.sales_no) AS total_sales,
SUM(sp.saled_prod) AS total_saled_prod
FROM SalesInfo si INNER JOIN
SaledProduct sp ON si.sales_no = sp.sales_no
WHERE (si.status = 1)
GROUP BY sp.sales_no, sp.saled_prod
但是结果不对
===========================================================
sales_no saled_prod total_sales total_saled_prod
101 2 1 2
102 1 1 1
104 1 1 1
请问该怎么写?
问题点数:20、回复次数:5Top
1 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-08-04 17:10:12 得分 0
select
a.sales_no,
a.saled_prod,
total_sales = (select
count(*)
from
SaledProduct c,SalesInfo d
where
c.sales_no = d.sales_no and d.status = 1),
total_saled_prod = (select
sum(c.saled_prod)
from
SaledProduct c,SalesInfo d
where
c.sales_no = d.sales_no and d.status = 1)
from
SaledProduct a,
SalesInfo b
where
a.sales_no = b.sales_no
and
b.status = 1
order by
a.sales_noTop
2 楼sasacat(傻傻猫)回复于 2005-08-04 17:14:45 得分 0
SELECT sp.sales_no, sp.saled_prod,
(select count(*) FROM SalesInfo si , SaledProduct sp
WHERE si.status = 1
and si.sales_no = sp.sales_no)AS total_sales,
(select sum(saled_prod) FROM SalesInfo si , SaledProduct sp
WHERE si.status = 1
and si.sales_no = sp.sales_no)AS total_saled_prod
FROM SalesInfo si ,
SaledProduct sp
WHERE si.status = 1
and si.sales_no = sp.sales_no
Top
3 楼sasacat(傻傻猫)回复于 2005-08-04 17:16:21 得分 0
唉,慢了一点。没看到楼上得...
你已经有两颗星星了,怎么还抢分这么用力呀,哼哼Top
4 楼jakexue31(anni)回复于 2005-08-04 21:22:15 得分 0
heheTop
5 楼frank_laic(笨蛋的右手)回复于 2005-08-04 23:32:42 得分 0
学习ING
Top
相关问题
- Group by
- 使用Tquery进行查询,出现错误:When GROUP BY exists, every simple field in projectors must be in GROUP BY.这是怎么回事?
- 这个警告是为什么?Warning: skipping non-radio button in group.
- 这个警告Warning: skipping non-radio button in group.是为什么?
- 这种情况怎么Group?
- Group by不过这样写的吗?
- 这个group by 语句怎么写?
- 这个GROUP BY语句该怎么写?
- 求救啊,又是group by 的问题
- 不group by但是要max()如何处理?




