mus*_*sme 5 sql sql-server sql-delete
所以我在SQL Server中有表A和B,分别在a和b列.我想在伪查询命令中执行以下操作,但我似乎无法弄明白.
我想要
DELETE FROM A
WHERE a < 100 "and only if these selected (for deletion) values don't exist in column b in table B"
Run Code Online (Sandbox Code Playgroud)
原因是我试图从表A中删除一些数据,但它给出了一个错误,说Aa和Bb中的值之间存在约束.
这是否涉及别名?令人困惑的是......
Abe*_*ler 11
如果您使用的是SQL Server 2005或更高版本,请尝试此操作:
DELETE FROM TableA
WHERE a < 100 AND
a NOT IN (SELECT B FROM TableB)
Run Code Online (Sandbox Code Playgroud)
对于SQL Server 2000,这应该工作:
DELETE ta
FROM TableA as ta
LEFT JOIN TableB as tb
ON ta.a = tb.b
WHERE ta.a < 100 AND tb.b IS NULL
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4679 次 |
| 最近记录: |