MySQL请求 我需要多个请求的帮助,这些请求需要三个表之间的联接。
基本上,请求看起来像这样,但是我不确定:
SELECT id_order
FROM order_refund
JOIN ps_orders ON order_refund.id_order = ps_orders.id_order
INSERT INTO order_refund (id_payment_method)
SELECT id_payment_method
FROM payment_method
JOIN order_refund ON order_refund.id_order = RESULT;
## the result of the request from above... I don't know how to do that...
这里是:
ps_orders -id_order-INT -付款-VARCHAR(其中包括平均还款的名称,例如:paypal ...)
付款方式 -id_payment_method-INT -名称-VARCHAR(包括以下退款方法的名称,例如:paypal ...)
order_refund -id_order-INT -id_payment_method-整数(不包括任何内容)
我想在id_payment_method deorder_refund列中插入一个数值,并将其与相关的退款方法相关联。
为此,我必须 检索order_refund id_order并将其与ps_orders进行比较,如果它们相同,则我从ps_orders中检索关联的退款方法(-付款-varchar),并将其与-名称-(从payment_method中)进行比较,并检索关联的退款方法ID。我在仍然等待一个整数的仍为空白的列(-id_payment_method-of order_refund)中返回此列。
我别无选择,只能这样做,我已经测试了基于INSERT INTO和JOIN的查询,但是我有些迷茫。有人知道措辞是什么吗?
提前谢谢!
答案 0 :(得分:0)
插入用于根据您的说明插入新行
似乎您正在根据顺序中的值寻找UPDATE
update order_refund
INNER JOIN ps_orders ON order_refund.id_order = ps_orders.id_order
INNER JOIN payment_method ON payment_method.name = ps_orders.payment
set order_refund.id_payment_method = payment_method.id_payment_method