假設我們有一個可以用下面的代碼構建的表。按照特定條件從SQL Server中檢索數據
**SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ACBilling](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Invoice] [int] NULL,
[Product] [varchar](500) NULL,
[Rate] [money] NULL,
[Quantity] [int] NULL,
[Amount] AS ([Rate]*[Quantity]),
[CGSTRate] [money] NULL,
[CGSTAmount] [money] NULL,
[SGSTRate] [money] NULL,
[SGSTAmount] [money] NULL,
[IGSTRate] [money] NULL,
[IGSTAmount] [money] NULL,
[TotalTaxAmount] AS (([CGSTAmount]+[SGSTAmount])+[IGSTAmount])
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO**
我們已經進入樣本數據到表,現在我的表看起來像 -
請考慮以下幾列CGSTRate
,SGSTRate
和IGSTRate
,這三樣稅(百分比可能將會被強加的金額欄和相關的稅額分別保存在CGSTAmount
,SGSTAmount
和IGSTAmount
列中。現在
,請考慮發票欄,你會看到,發票#1包含3個記錄,發票#2包含3條記錄和發票#3包含了3條不同CGSTRate
,SGSTRate
和IGSTRates
和相關CGSTAmount,SGSTAmount和IGSTAmount
。
我要執行這樣一個查詢,SQL將會排序由不同的發票號碼,金額列的SUM和在CGSTRate
,SGSTRate
和IGSTRate
各稅比較的記錄,它應該一起加單獨的列總和CGSTAmount
,SGSTAmount
和IGSTAmount
,以便我應該得到以下結果。
有人能幫助我嗎?
請查看此鏈接(https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)以瞭解更多關於如何改進問題 – TheGameiswar
您可以使用條件聚合或透視來做到這一點。有幾十次,如果不是數百次,這個問題已經在互聯網上被提出,並且已經有數千次。 –