需要帮助来形成SQL查询
Get-ADUser ... |
Select-Object uidNumber, sAMAccountName |
ForEach-Object { "INSERT INTO `databaseNameHere`.`currentUser` (...);" } |
Out-File -FilePath C:\Desktop\UIDs\currentList.txt
尝试执行tsql查询以获取以下输出:
INSERT
请不要让我需要最后一行的“目标”列。
答案 0 :(得分:1)
下面的查询使用row_number()
来标识其余的第一行。仅对于第一行,添加Source
进行串联
; with cte as
(
select ID, [Source], [Destination],
r = row_number() over (partition by ID order by [Source])
from #TempTable
)
select ID,
( select case when r = 1 then [Source] else '' end
+ ',' + [Destination]
from cte x
where x.ID = t.ID for xml path('')
) as CombinedValues
from cte t
group by ID
答案 1 :(得分:0)
DECLARE @LastID AS INT
SELECT @LastID=MAX(ID) FROM #TempTable
DROP TABLE IF EXISTS #TempTbl2
SELECT * INTO #TempTbl2 FROM
(
SELECT * FROM (
SELECT ID,SOURCE FROM #TempTable WHERE ID<>@LastID
UNION ALL
SELECT ID,Destination FROM #TempTable WHERE ID<>@LastID
) AS TMP_TBL
GROUP BY ID,SOURCE
) AS TMP_TBL2
select ID,
STRING_AGG( ISNULL(Source, ' '), ',') AS CombinedValues from #TempTbl2 WHERE ID<>@LastID
GROUP BY ID
UNION ALL
SELECT TOP 1 ID,source from #TempTable WHERE ID=@LastID
+----+----------------+
| ID | CombinedValues |
+----+----------------+
| 1 | A,B,C,D |
| 2 | A |
+----+----------------+