MySQL INSERT查询从另一个表中获取值,包括变量

时间:2011-04-13 10:10:44

标签: php mysql

我有一张桌子,用于将产品保存在购物篮中(stowaway_orders)和一个单独的表格,用于存放订单(stowaway_orders)。

以下代码工作正常,旨在将所有产品从购物篮中提取到订单表中,但是...

我有一个变量$ discount,它包含应用于购物篮的折扣金额,我想将其添加到查询中,以便将其添加到订单表中的每条记录中。

例如,如果$ discount = 100,则“discount”列的值应为插入的orders表中的每一行的值。

我如何或在何处将此$ discount变量放入此查询中,以便将值插入折扣列。

INSERT INTO stowaway_orders
( account_no, invoice_no, manufacturers_part_no, price, discount )
SELECT stowaway_basket.account_no, stowaway_basket.invoice_no,
stowaway_basket.manufacturers_part_no, stowaway_basket.price
FROM stowaway_basket
WHERE (((stowaway_basket.invoice_no)=".$invoice_no.")
AND
((stowaway_basket.sales_id)=".$account_no."))

我希望有人可以提供帮助,

罗布

1 个答案:

答案 0 :(得分:1)

只需将折扣添加到选择查询中作为文字值。参见:

INSERT INTO stowaway_orders
    ( account_no, invoice_no, manufacturers_part_no, price, discount )
SELECT 
    stowaway_basket.account_no, stowaway_basket.invoice_no,
    stowaway_basket.manufacturers_part_no, stowaway_basket.price,
    ? -- put the discount value here
FROM stowaway_basket
WHERE stowaway_basket.invoice_no = ?
AND stowaway_basket.sales_id = ?