我有一个表,按以下拆分逗号分隔值代入行与SQL Server
名称
NameID | Name | NickNames
--------------------------
1 | Richard | Rich, Dick
2 | Sam | Samuel, Samantha, Sammy
3 | John | Jonathan, Johnny
等等......
我有一个迭代函数已经是循环遍历这个表中的所有行,并且我有循环当前所在行的ID。我想删除表中'Name'
列包含在当前行'NickNames'
列中的所有行。
例如,第4行可能是:
4 | Johnathan | NULL
我想对于此行,因为“乔纳森”出现在第3行的绰号被删除。
本质上,我试图选择NickNames列作为一系列行,而不是其原始的CSV类数据。的This Blog Post
在我眼里几乎是相反的,它看起来是这样的:
DELETE FROM Names WHERE Name IN (SELECT NickNames FROM Names WHERE [email protected]);
提前感谢!
如果“Johnny”是昵称为“John”的条目5的名称,会发生什么? NameID 3“John”和NameID 5“Johnny”是否应该删除? –
@PaulWilliams在我的脑海中,入口5将被删除,一旦循环入口3,因此从来没有问题:) –