2015-06-18 79 views
1

我在MySQL中遇到問題。它涉及兩個表格,現在第一個表格查詢TrackingNo然後其他表格查詢基於TrackingNo的詳細信息。 (參見下面的示例圖像)MySQL:對於表上的每一行然後從其他表中獲取數據

表1 >>

enter image description here

表2 >>

enter image description here

正如你可以看到上面的圖像,表1 返回77 records那麼那些77條記錄就有詳細信息表2。例如,TrackNo。xxx000001必須得到最新的日期/時間這是2015-03-09 17:53:14和另一個TrackNo相同。

我的問題是我應該使用什麼查詢?我認爲,這個問題在使用WITH CTE的SQL Server上效果很好,但我做了一些研究,WITH Clause不支持MySQL

>>所需的輸出:

+-----------+----------+---------------------+ 
| TrackNo | Status |  Date/Time  | 
+===========+==========+=====================+ 
| xxx000001 | Logged | 2015-03-09 17:53:14 | 
+-----------+----------+---------------------+ 
| xxx000002 | Prepped | 2014-08-15 17:19:00 | 
+-----------+----------+---------------------+ 
| xxx000003 | Analyzed | 2014-10-10 11:12:00 | 
+-----------+----------+---------------------+ 

任何建議和選擇,非常感謝!

在此先感謝!

+0

。 .....加入..... –

+0

您希望的輸出字段「跟蹤號」不同於「table1」和「table2」 – Sathish

回答

0

試試這個:

SELECT 
    t2.TrackNo, 
    t2.Status, 
    MAX(t2.DateTime) 
FROM Table1 t1, Table2 t2 
WHERE t1.TrackNo = t2.TrackNo 
GROUP BY t2.TrackNo 
0

在MySQL中,我們有強大的操作叫做連接。 您可以使用JOIN根據兩個表上相同的列獲取兩個表的輸出。

例如:

SELECT 
    table2.TrackNo, table2.Status, MAX(table2.DateTime) 
FROM Table1 table1, Table2 table2 
WHERE table1.TrackNo = table2.TrackNo 
GROUP BY table2.TrackNo; 
0

SELECT * FROM TrackingNo爲t1其中t1.date =(選擇最大值(t2.date)從TrackingNo爲t2其中t1.trackNo = t2.trackNo)

相關問題