如何为“where in”编写 sql 语句?针对复合键的子句?
使用 MSSQL 2005,我习惯于编写这样的语句:
delete
from myTable
where ID in (select ID from otherTable where deleted = 1)
当 otherTable
有复合主键时,我该如何执行此操作?
复合键有两列:(
docnum float
version int
我的 google-fu 建议使用 CTE 来执行此操作,但我没有使用它们的经验。)
Using MSSQL 2005 I am used to writing a statement like this:
delete
from myTable
where ID in (select ID from otherTable where deleted = 1)
How can I do this when otherTable
has a composite primary key?
The composite key has two columns:
docnum float
version int
(My google-fu suggests using CTEs to do this however I have no experience with them.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 MS SQL 中,您可以这样做:
更新也有类似的语法。
In MS SQL you can do this:
There's a similar syntax for updates too.
您还可以使用 exists 关键字:
You can also use the exists keyword: