我有一张表包含来自组织的电话列表。此表有2列表组织(ID)和电话的外键。
电话
ID Telephone
1 1234
1 3456
1 9999
3 9999
我想删除第一行和第二行,为此,我有ID值1和一个包含要删除的数字(1234,3 3456)的表@TempTels
我想到了这个,但它不起作用:
Delete From TelephonesOrg
where ID = ID AND Telephone = (Select Telephone from @TempTels)
提前感谢您的帮助。
答案 0 :(得分:3)
由于该子选择会返回多个值,因此您需要使用IN
- 而不是=
等号:
Delete From TelephonesOrg
where ID = 1
AND Telephone IN (Select Telephone from @TempTels)
答案 1 :(得分:0)
@Dante Snow从你的代码中你有3行id = 1..so如果你想删除前2行只有你必须使用如下...
Delete From TelephonesOrg
where ID = 1 AND Telephone in (1234, 3456)