sql-server - 如何删除一个表中 ID 与字段为特定值的另一表行匹配的行?
问题描述
我承认标题问题很复杂;这是情况。
我有两张桌子:
USERS Table
ID | 姓名 | 地位 |
---|---|---|
1 | 莫妮卡 | 一个 |
2 | 罗斯 | 一个 |
3 | 菲比 | 吨 |
4 | 钱德勒 | 一个 |
5 | 雷切尔 | 吨 |
6 | 乔伊 | 一个 |
PERMISSIONS Table
用户身份 | 许可ID |
---|---|
1 | 32 |
1 | 51 |
4 | 12 |
6 | 2 |
3 | 5 |
5 | 22 |
2 | 18 |
我想要的是一种从该PERMISSIONS
用户STATUS
为“T”的表中删除所有行的方法,但我该怎么做呢?
我试过这个:
DELETE FROM permissions
WHERE user_id IN (
SELECT id FROM users
WHERE status = 'T'
);
但是,SQL Server 给出了这个错误:Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
解决方案
尝试 应用join
permissions
和 user
where status = 'T'
例子:
DELETE p
FROM permissions p
INNER JOIN users u
ON p.user_id=u.id
WHERE u.status = 'T'
推荐阅读
- flask - 未从 API Gateway 中的 URL 调用 POST 方法
- python - 在 jupyternotebbok 中使用 python 导入 ArcFace 的错误
- php - 如何使用起始和结束词数组PHP查找字符串中的所有子字符串
- javascript - ._value 在 React Native PanResponder 中做什么以及它来自哪里?
- postman - Postman/Newman - beforeIteration 事件光标属性的参数有两个属性 - 循环和迭代 - 有什么区别?
- javascript - 对整数数组的数组进行排序
- nativescript - NativeScript:在 NativeScript 中使用自定义的 Objective-C 导入类到 Xcode 项目中
- linux - 如何在 Azure devops 管道中运行 sudo su?
- javascript - 如何在页面刷新时保持活跃的点击
- json - 追加到 jq 中嵌套元素的数组但返回根对象