我有以下的查询语句:
strSQL = "select M.HuoYuName,M.Num1,isnull(N.Num2,0),Num=isnull(M.Num1,0)-isnull(N.Num2,0)
from (select HuoYuName,sum(Number) as Num1 from RuKu group by HuoYuName) M
left join (select HuoYuName,sum(Number) as Num2 from ChuKu group by HuoYuName) N
ON M.HuoYuName=N.HuoYuName"好象没有哪里有错误呢?一运行为什么总是说“isnull(N.Num2,0)的参数个数不对”。难道不是这样子写的吗?
先谢谢了!!
strSQL = "select M.HuoYuName,M.Num1,isnull(N.Num2,0),Num=isnull(M.Num1,0)-isnull(N.Num2,0)
from (select HuoYuName,sum(Number) as Num1 from RuKu group by HuoYuName) M
left join (select HuoYuName,sum(Number) as Num2 from ChuKu group by HuoYuName) N
ON M.HuoYuName=N.HuoYuName"好象没有哪里有错误呢?一运行为什么总是说“isnull(N.Num2,0)的参数个数不对”。难道不是这样子写的吗?
先谢谢了!!
create table RuKu
(
HuoYuName varchar(100),
NUMBER int
)
insert into RuKu
select 'a', 10create table ChuKu
(
HuoYuName varchar(100),
NUMBER int
)
insert into ChuKu
select 'a', 20SELECT M.HuoYuName,
M.Num1,
Isnull(N.Num2, 0),
Num=Isnull(M.Num1, 0) - Isnull(N.Num2, 0)
FROM (SELECT HuoYuName,
SUM(NUMBER) AS Num1
FROM RuKu
GROUP BY HuoYuName) M
LEFT JOIN (SELECT HuoYuName,
SUM(NUMBER) AS Num2
FROM ChuKu
GROUP BY HuoYuName) N
ON M.HuoYuName = N.HuoYuName
select M.HuoYuName,M.Num1,isnull(N.Num2,0),Num=isnull(M.Num1,0)-isnull(N.Num2,0)
from (select HuoYuName,sum(Number) as Num1 from RuKu group by HuoYuName) M
left join (select HuoYuName,sum(Number) as Num2 from ChuKu group by HuoYuName) N
ON M.HuoYuName=N.HuoYuName
到查询分析器中去执行一下看是否正确.
或者,看看:
两个子查询出来的结果是什么.
strSQL = "select M.HuoYuName,M.Num1,isnull(N.Num2,0),isnull(M.Num1,0)-isnull(N.Num2,0) as Num
from (select HuoYuName,sum(Number) as Num1 from RuKu group by HuoYuName) M
left join (select HuoYuName,sum(Number) as Num2 from ChuKu group by HuoYuName) N
ON M.HuoYuName=N.HuoYuName"
PS:楼主的结贴率有待提高喔.