需要使用DISTINCT和ORDER BY子句返回SQL中的臨時表,並將其連接到另一個臨時表。如果使用distinct,則按項目排序必須出現在選擇列表中
我有一個表格,它返回一些東西。
Declare @GrpItems TABLE (ID INT,
Name NVARCHAR(32),
Date DATETIME,
City NVARCHAR(32),
CityCode NVARCHAR(8),
CurrencySort NVARCHAR(16)
)
INSERT INTO @GrpItems
SELECT
ID, Name, Date ,
CityCodeorCaption --this can be two type based on User input CityCode or CityCaption
FROM
RepeatItemTable
現在我有一個不同的表,我想要插入並且過程返回該表作爲最終結果。
DECLARE @CurrencyTable TABLE (RowNumber INT Identity (1,1),
FK_Currency INT,
Value INT,
CityCode NVARCHAR(16),
CityCaption NVARCHAR(16)
)
INSERT INTO @Currency
SELECT DISTINCT
gb.FK_Currency, cv.Value,
c.CityCode, c.CityCaption
FROM
Balance b
JOIN
Currency c ON c.PK_Currency = b.FK_Currency
JOIN
@GrpItems gi ON c.FK_Grpitem = gi.PK_Grpitem
ORDER BY
gi.CityCodeorName
我知道我的地方通過需要組,但我不知道,或者在過濾器
我覺得
ORDER BY
gi.CityCodeOrNAME
WHEN 'City' THEN City
ELSE CityCode ASC
END
一個選擇條款似乎沒有哪個工作?我需要獨特的,因爲它可能會破壞一些其他的邏輯。
Select * from @CurrencyTable