【发布时间】:2013-11-17 18:49:12
【问题描述】:
有没有什么办法,使用Mysql,在insert语句的where子句中比较两个子查询的结果?
这是我正在尝试做的一个示例。
insert into table1 (field1, field2) values (....) where (select sum(x) from table2 where ..) <= (select sum(y) from table3 where ..)
在本例中,我们假设 x 和 y 是数值。
感谢您的帮助
【问题讨论】:
-
MySql 有
INSERT-SELECT构造。你到底想达到什么目的? -
+1 到 @PM77-1,因为 INSERT 不允许 WHERE 子句。无法猜测您打算使用此语句做什么。你能描述一下吗?
-
如果满足条件,您打算插入哪些值?它们是您在 SQL 中提供的文字值,还是取自
table2和table3? -
@Bill Karwin:你是对的。好久没用sql了,不记得insert不允许where子句了……我想做的是只有满足条件才插入一行。就我而言,如果某个位置没有订满,我想添加预订。
-
@eggyal : 值来自用户,因此它们是文字。
标签: mysql sql comparison subquery