sql - INSERT 中的某种 IF 条件
问题描述
我有下一张桌子:
table1 table2
id. value position id state
1. false
如果表 2 的状态为真,我需要将数据插入表 1。就像是:
INSERT INTO table1(value, position)
VALUES('someVal', 3)
IF table2.id = 1 AND table2.state = true
解决方案
你想要exists
吗?
INSERT INTO table1(value, position)
SELECT v.value, v.position
FROM (VALUES('someVal', 3)) v(value, position)
WHERE EXISTS (SELECT 1 FROM TABLE2 t2 WHERE t2.id = 1 AND t2.state = true);
推荐阅读
- php - 如何使用 Symfony 序列化程序将空 XML 元素反序列化为 null 而不是空字符串?
- arrays - slurm - sbatch 作业数组,用于使用 wrap 命令并行执行填充每个节点的串行作业
- reactjs - 如何使用 Formik 验证字段 onBlur 和其他字段 onChange?
- javascript - 在对象数组的数组中运行 Promise
- php - PHP SQL 从搜索输入中删除/忽略空格、制表符等
- python - python如何处理无法访问的代码烧瓶
- powerbi - Power BI 停止按矩阵中的列排序
- java - 下拉菜单不显示(intellij gui 编辑器)
- python - 使用pwntools进程交互方式控制python3
- json - 编码/解码时 UIImage 不等效