mysql - 如何实现 "complex"INSERT 查询来检索调用其他查询的值?

标签 mysql sql database rdbms

我不太喜欢数据库,也许我在说一些微不足道的事情。

我正在使用 MySql,我必须实现一个“复杂的”INSERT 查询。

我的意思是我必须做这样的事情:

INSERT INTO MarketDetails_CommodityDetails
(market_detail_id, commodity_detail_id) VALUES 
( XXX, YYY)

其中 XXXYYY 不是简单的值,而是两个 SELECT 查询的结果,都返回一个值(XXX 由 SELECT 查询返回,YYY 由另一个查询返回)。

我知道我可以执行这些查询,将输出存储在一个变量中,然后通过这些参数调用我的插入查询,但我想问是否有一种方法可以自动将其执行到我的 INSERT 查询中。

最佳答案

为什么要使用 insert values ? 只需执行一个insert select

INSERT INTO MarketDetails_CommodityDetails(market_detail_id, commodity_detail_id) 
select * from 
(select --Complex select for XXX)
cross join 
(select --Complex select for YYY)

关于mysql - 如何实现 "complex"INSERT 查询来检索调用其他查询的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48910299/

相关文章:

mysql - 如何选择一系列行但将其从特定 ID 偏移

sql - 在sql server中一次插入固定行数2000行

sql - 有什么方法可以使用 LISTEN 和 NOTIFY(或 NodeJS)实时监控 Postgresql 查询更改?

mysql - MySQL 的先验等价物连接

mysql - 如何使用另一个数据库的数据更新 MySQL 数据库?

mysql - 与多个表相关的字段

android - Sqlite数据库查询编写

php - Windows:XAMPP vs WampServer vs EasyPHP vs 替代方案

mysql - id是否不可替代?

php - 无法从 php 中的 while 循环获取值