簡體   English   中英

MySQL-與SELECT兩個表結合

[英]MySQL - Combine with SELECT two tables

我有這些表:

reg_movs:

regmovs_id      id_car             date               status    
   1              1         2014-02-02 16:00:00         0
   2              1         2014-02-02 16:12:00         5         
   3              2         2014-02-02 16:22:03         0
   4              2         2014-02-02 16:45:14         5

service_detail:

id          id_Car                date_updated           price     
1             1               2014-02-02 16:12:00        45.00    
2             2               2014-02-02 16:45:14        30.00     

我的意思是,當status=0 ,它將在我的SELECT QUERY設置開始時間。 並且,當status=5 ,它將是結束時間。

我該如何進行這樣的查詢:

id_car     date         start         end                 price
  1     2014-02-02     16:00:00    16:12:00               45.00
  2     201-02-02      16:22:03    16:46:14               30.00

您首先需要對reg_movs進行自聯接,以將兩行合並為單行。 然后,您需要使用service_detail將其內部加入,以選擇汽車的價格。 以下是基於為架構提供的信息的示例查詢。

SELECT t1.id_car
    , DATE_FORMAT(t1.date, '%Y-%m-%d') AS date
    , DATE_FORMAT(t1.date, '%T') AS start
    , DATE_FORMAT(t2.date, '%T') AS end
    , service_detail.price 
FROM reg_movs AS t1 
    inner join reg_movs AS t2 on t1.id_car=t2.id_car AND t1.status=0 AND t2.status=5
    inner join service_detail ON t1.id_car=service_detail .id_car

如果要顯示沒有結束時間的記錄(即表中只有一條狀態為0的記錄),則可能需要更改查詢以使用左聯接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM