Запрос вставки MySQL, получающий значения из другой таблицы, включая переменную

#php #mysql

#php #mysql

Вопрос:

У меня есть таблица, в которой хранятся товары в корзине покупок (stowaway_orders) и отдельная таблица, в которой хранятся размещенные заказы (stowaway_orders).

Приведенный ниже код работает нормально и предназначен для извлечения всех продуктов из корзины в таблицу заказов, однако…

У меня есть переменная $discount, которая содержит сумму скидки, примененную к корзине, и я хочу добавить это в запрос, чтобы оно добавлялось к каждой записи в таблице заказов.

Например, если $discount =100, то столбец ‘discount’ должен иметь значение 100 для каждой строки в вставляемой таблице заказов.

Как или где мне поместить эту переменную $ discount в этот запрос, чтобы значение было вставлено в столбец 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."))
  

Я надеюсь, что кто-нибудь может помочь,

Rob

Ответ №1:

Просто добавьте свою скидку в запрос select в качестве буквального значения. Смотрите:

 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 = ?