我正在尝试在SQL Fiddle中编写MySQL脚本。我有一个“甜甜圈”表,一个“ DonutOrder”表和一个“ LineItem”表。我想将DonutOrder中的DonutOrderID(基于SELECT)和Donut表中的DonutID(基于SELECT)插入LineItem表中。显然,没有公共字段,因此无法对它们进行联接。

在MS SQL中,我只需要声明几个变量并将两个ID值存储在INSERT语句中即可使用,但是SQL Fiddle不允许我创建这样的变量。

现在有人在单个INSERT语句中如何获取这两个不同的值吗?

谢谢!

最佳答案

我相信你可以做这样的事情:

INSERT INTO LineItem (field1, field2) VALUES
((SELECT DonutOrderID FROM DonutOrder WHERE param = ?), (SELECT DonutID FROM Donut WHERE param = ?))

10-07 16:01