2017-01-22 40 views
-2

得到政策的單列爲每一個客戶我有兩個表MYSQL如何通過最後日期

vehicle_data

id chassis name  number 
    1 00001 customer1 123456 
    2 00002 customer2 654321 
    3 00003 customer3 645421 

insurance_data

id chassis policy_number expiry_date 
    1 00001   11111 22-01-2015 
    2 00002   22222 22-01-2015 
    3 00003   33333 22-01-2015 
    4 00001   44444 22-01-2016 
    5 00002   55555 22-01-2017 
    6 00001   66666 22-01-2017 

我想要什麼

chassis name  policy_number expiry_date 
    00001 customer1   66666 22-01-2017 
    00002 customer2   55555 22-01-2017 
    00003 customer3   33333 22-01-2015 
+2

我不完全理解這一點:「我只想使用月份過濾器的所有客戶的最後過期日期政策」。 –

+1

請考慮對您的問題進行編輯並顯示您需要的結果。顯示示例數據你做得很好。 –

+0

編輯問題 –

回答

0

我認爲這是你的意圖:

select id.* 
from insurance_data id 
where id.expiry_date = (select max(id2.expiry_date) 
         from insurance_data id2 
         where id.name = id2.name and 
           month(id2.expiry_date) = 1 
         ); 

這將返回給定月份的每個name表中最近一行。

+0

我已更新問題,要求您根據更新後的問題進行回覆 –