[英]MySQL: for each row on table then get data from other table
我在MySQL中遇到問題。 它涉及兩個表,現在第一個表查詢TrackingNo,然后其他表根據TrackingNo查詢詳細信息。 (請參見下面的示例圖片)
>>表1
>>表2
如上圖所示, 表1返回77 records
然后這些77條記錄具有表 2的詳細信息。例如TrackNo。 xxx000001
必須獲得最新的日期/時間 ,即2015-03-09 17:53:14
並且在其他TrackNo上也是如此。
我的問題是應該使用什么查詢? 我認為,此問題在使用WITH CTE
SQL Server上效果很好,但是我進行了一些研究,發現MySQL不支持WITH Clause
。
>>所需輸出:
+-----------+----------+---------------------+
| 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 |
+-----------+----------+---------------------+
任何建議和替代品都將不勝感激!
提前致謝!
嘗試這個:
SELECT
t2.TrackNo,
t2.Status,
MAX(t2.DateTime)
FROM Table1 t1, Table2 t2
WHERE t1.TrackNo = t2.TrackNo
GROUP BY t2.TrackNo
在MYSQL中,我們有強大的操作,稱為JOINS。 您可以使用JOIN根據兩個表上相同的列從兩個表中獲取輸出。
例如:
SELECT
table2.TrackNo, table2.Status, MAX(table2.DateTime)
FROM Table1 table1, Table2 table2
WHERE table1.TrackNo = table2.TrackNo
GROUP BY table2.TrackNo;
選擇* FROM TrackingNo
作為t1,其中t1.date =(從TrackingNo選擇max(t2.date)作為t2,其中t1.trackNo = t2.trackNo)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.