嵌套在SQL语句中选择SQL语句

时间:2014-12-14 12:18:05

标签: sql database sqlite

我尝试从Cart(ID PK,用户名PK,MenuID)表和Order(ID PK,用户名,地址)表中获取值并将它们插入OrderItem(OrderID,MenuID,OrderItemID PK) )表。 它是确认购买的过程。因此,我必须将购物车中的所有值插入OrderItem,并在Order表中添加最后插入的ID

在这里,我被困住了:

insert into OrderItem (MenuID, OrderID) Values (A,B) A=(Select MenuID from Cart Where Username='Foris') B=(Select last_insert_rowid() from Order)

我添加了B和A来解释我的意思。我认为使用内部连接我无法做到这一点。 这是数据库设计的图像 Database

提前致谢

1 个答案:

答案 0 :(得分:1)

你试过这个吗?

insert into OrderItem (MenuID, OrderID)  
    Select MenuID, last_insert_rowid()
    from Cart
    Where Username = 'Foris';

我不确定select last_insert_rowid() from Order应该是什么。好吧,我知道,这会返回Order中包含一列的所有行,last_insert_rowid()无论该值是什么。

以上假设前一个陈述是Order的插入。