可以使用CASE
楼主可以参考一下下面的方法:
CREATE TABLE #Temp(ID int,ReferID int,ReferCount int)
INSERT INTO #Temp
SELECT 1, 0, 2 UNION ALL
SELECT 2, 1, NULL UNION ALL
SELECT 3, 2, NULL UNION ALL
SELECT 4, 3, 1
DECLARE @t1 int
DECLARE @t2 int
DECLARE @t3 int
DECLARE @t4 int
--根据ID的唯一性来查询
SELECT @t1=(CASE ID WHEN 1 THEN ReferCount ELSE @t1 END)
,@t2=(CASE ID WHEN 2 THEN ReferCount ELSE @t2 END)
,@t3=(CASE ID WHEN 3 THEN ReferCount ELSE @t3 END)
,@t4=(CASE ID WHEN 4 THEN ReferCount ELSE @t4 END)
FROM #Temp
SELECT @t1 AS '@t1',@t2 AS '@t2',@t3 AS '@t3',@t4 AS '@t4'
DROP TABLE #Temp
复制代码
|