sql - 如果不存在,则插入从先前查询中获取的行的表值
问题描述
我有 2 个表,比如说'ACCESSENTRY'
和PROJECT
.,并PROJECT
包含ROLE、ACCESSENTRY列。我需要找到ACCESSENTRY等于 'A' 的第一行,并将这些行插入到ACCESSENTRY
具有获取的 ' ROLE ' 并给定ACCESSENTRY的新行中,但如果该行不存在。所以让我们在这个查询中说:
解决方案
我想你想要not exists
:
insert into ROLEE (role, accessentry)
select r.role, 'ACCESS'
from ROLEE r
where r.ACCESSENTRY = 'A' and
not exists (select 1 from rolee r2 where r2.role = r.role and r2.column2 = 'ACCESS');
推荐阅读
- ios - 如何在多视图应用 (UINavigationController) 中使用 AdMob 横幅?
- c# - 在Unity3D中获取给定时间动画剪辑的位置
- c - 如何撤消由 TZ 环境变量和 tzset() 函数引起的更改?
- android - 服务帐户未显示在 Google Play API 访问权限中
- python - 在 Python 中的 csv 文件中搜索单词/短语
- javascript - 了解 localhost:8080 和 127.0.0.1 之间的区别
- python - 熊猫数据框到带有分隔符的字符串
- css - div:在父可滚动容器中固定后
- java - 枚举的设计建议
- kubernetes - 如何在 API 服务器部署为 systemd 服务的 k8s 上启用准入控制器插件?