在[验证两个字段]中删除

时间:2013-08-19 16:28:24

标签: sql sql-server-2008 sql-delete

我(我发现)正在寻找用DELETE验证两个字段的方法。

即。 DELETE FROM X_Table WHERE IDRESERVA IN (.........),它可能有用,但是有相同数字的SERIES, 并且更多东西消除我准确的可能性是100%。拥有不同的系列,不同的数字。

Ie BAAO/300. CAAO/300.

通过上述声明,我删除了两条记录,从上面我只想消除:BAAO / 300。

我正在寻找类似的东西:

DELETE FROM X_Table WHERE IDRESERVA AND SERIE IN (.........)

或者,如果还有其他感激之情。

2 个答案:

答案 0 :(得分:1)

你的陈述是对的,但它不是SQL有效的,
您可以使用以下有效声明:

Delete from X_Table WHERE IDRESERVA in (...) and SERIE IN (....)

答案 1 :(得分:0)

也许你正在寻找这个:

DELETE FROM X_Table WHERE (IDRESERVA,SERIE) IN (('BAAO',300), ('CAAO',400), ...)

不幸的是,SQL Server不支持。 (在Oracle中它是,它使一些查询非常易读,否则就不会这样。)

所以你留下了

DELETE FROM X_Table 
WHERE (IDRESERVA = 'BAAO' AND SERIE = 300)
OR    (IDRESERVA = 'CAAO' AND SERIE = 400)
OR    ...