试图从sqlite中的随机查询中获取一个列

时间:2017-10-26 17:49:42

标签: sqlite

您好我在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

编辑: 我想我需要使用交叉联接,有人可以帮助我吗?

1 个答案:

答案 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));