下面的語句要實現的功能大家應該能夠看明白﹐只是由于語句錯誤﹐不能運行﹔
其中﹕ Nh_InOut 和 Nh_Stock 是兩個有相互關聯的表﹐由字段Nh_InOut.IO_No和 Nh_Stock.Stock_no相互關聯﹔ 我在統計完后按照Nh_InOut.IO_No再分組﹔
現在語句總是抱錯﹐請問﹕我想實現下面的功能該怎么樣對該語句改進呢﹖SELECT Nh_InOut.IO_No, Nh_InOut.IO_Type, Nh_InOut.IO_Name, Nh_InOut.IO_Spec,Nh_Stock.Stock_counts, SUM(Nh_InOut.IO_Input) AS Inputs,
SUM(Nh_InOut.IO_Output) AS outputs, Nh_InOut.Out_Dept, Nh_Stock.Stock_no,
Nh_Stock.Stock_counts + Nh_InOut.inputs - Nh_InOut.outputs AS NowStock
FROM Nh_InOut INNER JOIN Nh_Stock ON Nh_InOut.IO_No = Nh_Stock.Stock_no
GROUP BY Nh_InOut.IO_No
其中﹕ Nh_InOut 和 Nh_Stock 是兩個有相互關聯的表﹐由字段Nh_InOut.IO_No和 Nh_Stock.Stock_no相互關聯﹔ 我在統計完后按照Nh_InOut.IO_No再分組﹔
現在語句總是抱錯﹐請問﹕我想實現下面的功能該怎么樣對該語句改進呢﹖SELECT Nh_InOut.IO_No, Nh_InOut.IO_Type, Nh_InOut.IO_Name, Nh_InOut.IO_Spec,Nh_Stock.Stock_counts, SUM(Nh_InOut.IO_Input) AS Inputs,
SUM(Nh_InOut.IO_Output) AS outputs, Nh_InOut.Out_Dept, Nh_Stock.Stock_no,
Nh_Stock.Stock_counts + Nh_InOut.inputs - Nh_InOut.outputs AS NowStock
FROM Nh_InOut INNER JOIN Nh_Stock ON Nh_InOut.IO_No = Nh_Stock.Stock_no
GROUP BY Nh_InOut.IO_No
解决方案 »
- 求助!多线程填写web表单为啥报错,怎么处理?
- 关于文本转换为BYTE数组的问题,请大家帮忙修改代码
- MDI窗体的borderstyle:=dsnone后,显示出来的MDI窗体为什么最大化最小化关闭按钮都存在,我不想看到这些按钮,在MDI窗体上如何设置?
- 各位小弟有问题请教,希望帮忙呀
- 公司想招Delphi高手,福州地区或想来福州发展的请进!
- 分割文件,搞过的都可以看看,提些意见!
- 急求一代码,清家当产也不惜。(用语句实现库和库之间的表的导入)
- 如何用FMPdefs直接控制神龙卡的音量?
- 哪一个delphi网站是最好的!各位讨论一下:)
- 把下面的定义为函数,需要两个 值!不会表达!一个为字符串,一个为颜色!
- 一个关于小数精度的问题,请教各位帅哥!!!
- 使用ExitWindowsEx为什么不起作用???
SELECT
Nh_InOut.IO_No,Nh_InOut.IO_Name, Nh_InOut.IO_Spec, Nh_InOut.Out_Dept,
Nh_Stock.Stock_counts, SUM(Nh_InOut.IO_Input) AS Inputs,
SUM(Nh_InOut.IO_Output) AS outputs,
Nh_Stock.Stock_counts + Nh_InOut.IO_Input - Nh_InOut.IO_Output) AS NowStock
FROM
Nh_InOut INNER JOIN Nh_Stock ON Nh_InOut.IO_No = Nh_Stock.Stock_no
GROUP BY Nh_InOut.IO_No
回复人: pingwing(pingwing)
我這些功能都想實現﹐有沒有其他簡單的辦法呀... 你說Group By 項目不夠﹐怎么解釋﹖謝謝
也就是:
SELECT Nh_InOut.IO_No, Nh_InOut.IO_Type, Nh_InOut.IO_Name, Nh_InOut.IO_Spec,Nh_Stock.Stock_counts, .......GROUP BY Nh_InOut.IO_No, Nh_InOut.IO_Type, Nh_InOut.IO_Name, Nh_InOut.IO_Spec,Nh_Stock.Stock_counts你上面没对应,肯定会出错。
我试过你的方法同样会报group by错误, 我感觉到你说的太麻烦了, 我用Group by很多的; 我原来用的也没有这样啊, 当我想按照哪个字段值分组的话直接在group by后面跟上字段名就行了! 不知道这种多表统计会有哪些不同? 谢谢
Nh_InOut
1 IO_Date datetime 8
0 IO_Flash char 15
0 IO_No numeric 9
0 IO_Type char 30
0 IO_Name char 30
0 IO_Spec char 30
0 IO_Unit char 8
0 IO_RUK char 10
0 IO_Price float 8
0 IO_Input bigint 8
0 IO_Output bigint 8
0 Out_Dept char 14
0 IO_Sig char 4
0 IO_Re char 30
Nh_Stock
1 Stock_date datetime 8
0 Stock_no numeric 9 0
0 Stock_ruk char 6 0
0 Stock_price float 8
0 Stock_counts bigint 8
0 Stock_cash money 8
SUM(Nh_InOut.IO_Output) AS outputs, SUM(Nh_Stock.Stock_counts + Nh_InOut.inputs - Nh_InOut.outputs) AS NowStock
FROM Nh_InOut INNER JOIN Nh_Stock ON Nh_InOut.IO_No = Nh_Stock.Stock_no
GROUP BY Nh_InOut.IO_No看看能行吗?
這個提示錯誤說Inputs 找不到﹐但是我把下面的這句去掉就可以用了。
SUM(Nh_Stock.Stock_counts + Nh_InOut.inputs - Nh_InOut.outputs)
AS NowStock
但是上面的這句不能少。我看看用什么辦法可以讓他不抱錯
这样改:
SELECT Nh_InOut.IO_No, SUM(Nh_InOut.IO_Input) AS Inputs,
SUM(Nh_InOut.IO_Output) AS outputs, SUM(Nh_Stock.Stock_counts + Nh_InOut.input - Nh_InOut.output) AS NowStock
FROM Nh_InOut INNER JOIN Nh_Stock ON Nh_InOut.IO_No = Nh_Stock.Stock_no
GROUP BY Nh_InOut.IO_No
上面一句不能這樣來﹐因為這樣違背了我已經統計的意思 ﹔我的意思 是對這樣的形式﹕
Nh_Stock.Stock_counts+Sum(Nh_InOut.input)-Sum(Nh_InOut.Output) as NowStock
我這樣寫你們應該明白我的意思 吧﹖多謝
AS Inputs, SUM(dbo.Nh_InOut.IO_Output) AS outputs,
dbo.Nh_Stock.Stock_counts + SUM(dbo.Nh_InOut.IO_Input)
- SUM(dbo.Nh_InOut.IO_Output) AS NowStock
FROM dbo.Nh_InOut INNER JOIN
dbo.Nh_Stock ON dbo.Nh_InOut.IO_No = dbo.Nh_Stock.Stock_no
GROUP BY dbo.Nh_InOut.IO_No, dbo.Nh_Stock.Stock_counts