目前我正在設計一個系統,以便公司及其各個部門查看階段訂單。 http://sqlfiddle.com/#!2/91cd6aMySQL加入,最近一次分組,每個編號限制爲1個結果
o.id Order# om.id status
-- ---- -- ----
1 1 2 Delivered
3 2 4 Order Received
3 2 4,5 Order On Hold (parts needed)
4 2 4,5,6 Ready for Delivery
5 2 4,5,6,2 Delivered
6 3 2 Delivered
我的期望:我對在訂單管理表存儲逗號分隔「狀態」,因此我們可以跟蹤遞歸(什麼員工做了什麼日子什麼,等等)
SQL小提琴這樣做結果會是這樣的:
3 => [Order: 3, Status: 2]
2 => [Order: 2, Status: 2,4,5,6]
1 => [Order: 1, Status: 2]
但是,我目前正在得到每個結果;
3 => [Order: 3, Status: 2]
2 => [Order: 2, Status: 2,4,5,6]
2 => [Order: 2, Status: 4,5,6]
2 => [Order: 2, Status: 5,6]
1 => [Order: 1, Status: 2]
這是我使用的當前查詢:
"SELECT * FROM orders LEFT JOIN orders_mgmt ON orders_mgmt.om_order_id = orders.orders_ID WHERE orders_distributor_ID = '$dashID' AND orders_process_status != '2' ORDER BY orders_mgmt.om_timestamp DESC"
你想用這種表結構實現它很難,你是否認爲2個相關的表格是1:N的關係?你可以在一個表格中獲得訂單,而在其他表格中你可以得到這些訂單,這樣你就可以很容易地獲得它們 – Chococroc
我清理/導出一個SQL小提琴。 – ihateartists
那個ld幫了很大忙,XD – Chococroc