duanpa2143 2017-02-21 18:57
浏览 39
已采纳

选择两个表中的所有行和最后一个表mysql中的一行

I want to select all row from two tables and one row from last table mysql

My table is given below,

tbl_order

order_id    order_no
--------    --------
   1         1000
   2         1001
   3         1002

tbl_assign

assign_id    order_id    central_status
---------    --------    --------------
    1           1              1
    2           2              1
    3           3              1

tbl_unit_status

status_id    assign_id    status_status
---------    ---------    -------------
    1            1             Work
    2            2             Cutter
    3            2             Stitch
    4            1             Stitch

From the above 3 table, I want the result as,

order_id    order_no    assign_id    status_status
--------    --------    ---------    -------------
   3          1002          3           {null}
   2          1001          2           Stitch
   1          1000          1           Stitch

I have tried the below code,

SELECT * FROM tbl_order o LEFT JOIN tbl_assign a ON a.order_id = o.order_id LEFT JOIN (SELECT * FROM tbl_unit_status u ORDER BY u.status_id DESC LIMIT 1) uu ON uu.assign_id = a.assign_id WHERE a.central_status = 1 ORDER BY a.assign_id DESC

But the result comes as,

order_id    order_no    assign_id    status_status
--------    --------    ---------    -------------
   3          1002          3           {null}
   2          1001          2           {null}
   1          1000          1           Stitch

Where am doing wrong. I have tried a lot. Please help me find the answer. Thank you.

  • 写回答

2条回答 默认 最新

  • duanqiao1926 2017-02-21 19:08
    关注

    try like this:

    SELECT o.*,u2.assign_id,u2.status_status FROM tbl_order o 
    LEFT JOIN tbl_assign a ON a.order_id = o.order_id LEFT JOIN 
    (SELECT u.assign_id,max(u.status_id) as maxid FROM tbl_unit_status u  group by u.assign_id) 
    uu ON uu.assign_id = a.assign_id
    LEFT JOIN tbl_unit_status  u2 on u2.status_id = uu.maxid
     WHERE a.central_status = 1 ORDER BY a.assign_id DESC
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭