我有一个表(Table1),它的行数超过 1000,并且列数超过 30。我只写有趣的列(ID,relatedID,Name)当我有相同的组时,ID 是相同的,relatedID 是将一个人与其他人区分开来,名称在所有行中都是相同的,即组名,这是我的数据示例。
ID, relatedID,Name
-----------------------------------------
1234, 23,office
1234, 56, office
1234, 87, office
999, 1, office
999, 58, office
876, 23, office
现在我想在所有ID组中添加一个人如果这个人(realatedID)不存在,如果这个ralatedID不存在,其他列将保持不变,其中只有一个新的relatedID的新行。我的桌子应该是这样的:
ID, relatedID,Name
-----------------------------------------
1234, 23,office
1234, 56, office
1234, 87, office
1234, 1111, office --here
999, 1, office
999, 58, office
999, 1111, office --here
876, 23, office
876, 1111, office --here
我试着写一段代码,将数据保存在一个新的临时表 (#t) 中,然后更新我的原始表 (Table1),但我不知道我必须如何继续。
enter code here
SELECT identifier,title,
(FORMAT( registerDate, 'yyyy-MM-dd', 'en-US' )) as Reg_Date,
GetText(ID) as relatedIDName, --this function has 1111 son input and return person
name
INTO #t1
FROM InfoHeap INNER JOIN
ObjProperties op ON objectID = infoHeapID INNER JOIN
InfoHeapCaseType ct ON ct.caseTypeID = InfoHeap.caseTypeID
WHERE moduleID = 100 and typeID = 199
and registerDate between '2020-01-01' and '2022-12-31'
Update #t1 Set relatedIDName = CONCAT_WS(',', relatedIDName, 'Dejana') --1111
Where relatedIDName NOT LIKE '%Dejana%'
--here I can't continue
--INSERT into Table1
-- SELECT Distinct t1.*, relatedPropID = 1111 --Related propID
--Where relatedPropID NOT LIKE 1111