【发布时间】:2016-10-24 10:09:52
【问题描述】:
这是我的左连接查询,我正在自动开发贷记借记和余额。
也许我缺乏专栏。我使用gl_drcr 作为主列,并通过查询将其拆分为贷方和借方,但我无法获得余额值。我也有一列金额,我可以在其中存储金额值。
你能帮我找出我在这个查询中的错误吗?
我的存储过程如下所示:
ALTER procedure [dbo].[sp_getDataML]
(@gl_acid int, @userid int)
AS
BEGIN
SELECT
ROW_NUMBER() OVER (ORDER BY gLedeger.PK_id) AS sno,
CASE
WHEN master.ma_accname IS NULL THEN ''
ELSE ma_accname
END AS AccName,
gLedeger.gl_date AS date, gLedeger.gl_narration AS Narration,
gLedeger.gl_drcr as DRCR,
CASE
WHEN gLedeger.gl_drcr > 0 THEN ABS(gLedeger.gl_drcr)
ELSE 0.00
END AS debit,
CASE
WHEN gLedeger.gl_drcr < 0 THEN ABS(gLedeger.gl_drcr)
ELSE 0.00
END AS credit,
SUM(COALESCE(gLedeger.gl_drcr.credit, 0) - COALESCE(gLedeger.gl_drcr.debit, 0)) AS Balance
FROM
gLedeger
LEFT JOIN
master ON gLedeger.GL_ACID = master.PK_ID
LEFT JOIN
registration r ON master.userId = @userid
WHERE
gLedeger.GL_ACID = @gl_acid
/*and LEFT(gLedeger.gl_voucher,2)=@voucher*/
ORDER BY
gLedeger.gl_date
END
【问题讨论】:
-
确保您的代码被格式化为代码以提高易读性
-
您的查询中有聚合函数但未使用 GROUP by 子句
-
我只是编码的初学者,你能告诉我如何在上面的查询中使用组吗????
标签: sql sql-server-2012