从查询中的同一个表中获取id值

时间:2016-03-31 18:45:17

标签: mysql

我有这个表设置:

orders:
 id, order_nr

orders_cart:
id, orders_id,ref_backorder

一些数据:

Orders:
id order_nr
1  012345
2  0123456

Orders_cart
id, orders_id, ref_backorder
1   2          1
1   1           

ref_backorder是对同一个表中另一行的引用。

Expected output:
    id, ref_backorder
    1    012345
    2    null

我的查询:

SELECT o.id, o.ref_backorder`
FROM orders_cart o 
??
LEFT JOIN orders ON o.ref_backorder` = orders.id 
??

我怎样才能将ref_backorder作为order_nr? ref_backorder是一行中的id。在这种情况下,第1行,第1行,我们有一个orders_id 2. orders_id 2(0123456)的值是我想在查询中显示的值。

你可以加入桌子吗?

2 个答案:

答案 0 :(得分:1)

似乎查询可能是这个

select o.order_nr
from order 
inner join orders_cart as c on c.ref_backorder = o.id
where c.orders_id = 2

答案 1 :(得分:0)

SELECT A.id, A.orders_id, A.ref_backorder, B.order_nr FROM orders_cart AS A
JOIN orders AS B ON
    A.orders_id = B.id