1

我有一张表,其中包含来自组织的电话列表。该表有 2 列,表组织 (ID) 和电话的外键。

电话

ID  Telephone   
1   1234
1   3456
1   9999
3   9999

我想删除第一行和第二行,为此我有 ID 值 1 和一个包含要删除的数字(1234、3456)的表,称为@TempTels

我想到了这一点,但没有奏效:

Delete From TelephonesOrg 
where ID = ID AND Telephone = (Select Telephone from @TempTels)

提前感谢您的帮助。

4

2 回答 2

3

由于该子选择返回多个值,因此您需要使用IN- 而不是=等号:

Delete From TelephonesOrg 
where ID = 1 
  AND Telephone IN (Select Telephone from @TempTels)
于 2013-05-15T18:10:15.037 回答
0

@Dante Snow 从您的代码中,您有 3 行 id=1 ..因此,如果您只想删除前 2 行,则必须使用如下所示..

Delete From TelephonesOrg 
where ID = 1 AND Telephone in (1234, 3456)
于 2013-05-15T18:29:05.313 回答