您好我在SQLite中有以下查询。 ISBN是一个文本变量。
insert into BOOK_ORDER
SELECT OrderID FROM tableOrder WHERE OrderID = 1 UNION SELECT ISBN FROM BOOK ORDER BY random() LIMIT 1;
我想在一起添加两列
但是我收到错误:
1st ORDER BY term does not match any column in the result set:
insert into BOOK_ORDER
SELECT OrderID FROM tableOrder WHERE OrderID = 1 UNION SELECT ISBN FROM BOOK
ORDER BY random() LIMIT 1;
我想要一个两列结果表:
OrderID ISBN
4 192374125
编辑: 我想我需要使用交叉联接,有人可以帮助我吗?
答案 0 :(得分:0)
UNION会产生更多行(除非它们是重复的)。
要获得更多列,您必须在SELECT子句中列出所有列。 在这种情况下,您可以使用子查询:
insert into BOOK_ORDER
VALUES ((SELECT OrderID FROM tableOrder WHERE OrderID = 1),
(SELECT ISBN FROM BOOK ORDER BY random() LIMIT 1));