我有兩個表格:客戶和合同。它們之間的公共密鑰是customer_id。我需要鏈接這兩張表來表示我的虛構業務是否與客戶簽訂合同。根據MAX日期和客戶ID獲取數據
客戶 - >合同表具有一對多的關係,因此客戶可以有記錄的舊合同。我想要最新的。這目前由自動遞增的contract_id處理。
我的查詢應該根據customer_id和該customer_id的最大contract_id獲取合同數據。
我的查詢目前看起來是這樣的:
SELECT * FROM(
SELECT co.*
FROM contracts co
LEFT JOIN customers c ON co.customer_id = c.customer_id
WHERE co.customer_id ='135') a
where a.contract_id = MAX(a.contract_id);
答案很可能是可笑的明顯,我只是沒有看到它。
如果您喜歡,請考慮遵循以下簡單的兩步操作步驟:1.如果您尚未這樣做,請提供適當的CREATE和INSERT語句(和/或sqlfiddle),以便我們可以更輕鬆地複製問題。 2.如果您尚未這樣做,請提供與步驟1中提供的信息相對應的所需結果集。 – Strawberry
dmcoding,我認爲您已將'LEFT JOIN'倒置。應該是'客戶離開加入合同',這意味着關係是0到很多...不是1到很多。 –