我遇到的一个简单问题。我从以下 SQL 中收到语法错误:
DELETE FROM Blog.Category c
WHERE NOT EXISTS (SELECT * FROM Blog.Posts p
WHERE p.postCategory = blog.Category.catId)
Run Code Online (Sandbox Code Playgroud)
显然我在这里错过了一些愚蠢的东西。任何提示将不胜感激。
编辑
我也试过
DELETE FROM Blog.Category c
where NOT EXISTS(SELECT * FROM Blog.Posts p WHERE p.postCategory = c.catId)
Run Code Online (Sandbox Code Playgroud)
但是我得到
Incorrect syntax near 'c'
Igo*_*gor 15
您在DELETE语句之后直接缺少别名。
DELETE c FROM Blog.Category c
WHERE NOT EXISTS(SELECT * FROM Blog.Posts p WHERE p.postCategory = c.catId)
Run Code Online (Sandbox Code Playgroud)
或者,您可以省略别名并使用完整的表名。
DELETE FROM Blog.Category
WHERE NOT EXISTS(SELECT * FROM Blog.Posts p WHERE p.postCategory = Blog.Category.catId)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9162 次 |
| 最近记录: |