ここでは左結合によるクエリがあり、私は自動的にクレジットデビットと残高を作成しています。小数点以下のSQL Serverエラーでメソッドを呼び出せません
おそらく私は列に欠けています。私は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)[email protected]*/
ORDER BY
gLedeger.gl_date
END
コードが読みやすくするためのコードとしてフォーマットされていることを確認してください –
クエリに集計関数がありますが、GROUP BY節では使用されていません –
私はちょうど上記のクエリでグループを使用できますか? ?? –