对多个表进行多次查询

时间:2019-08-23 14:35:10

标签: mysql join request

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的查询,但是我有些迷茫。有人知道措辞是什么吗?

提前谢谢!

1 个答案:

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