示例表如下:MS SQL:如何在多個用戶的另一個日期(付款日期)之前獲取最新日期(billdate)?
表1
userid | billdate
user1 | 2017-06-01
user1 | 2017-05-01
user1 | 2017-04-01
user2 | 2017-06-01
user2 | 2017-05-01
表2
userid | paymentdate
user1 | 2017-06-01
user1 | 2017-06-02
user1 | 2017-05-02
user2 | 2017-06-30
user2 | 2017-05-30
希望的輸出提前
userid | billdate | paymentdate
user1 | 2017-05-01 | 2017-06-01
user1 | 2017-06-01 | 2017-06-02
user1 | 2017-05-01 | 2017-05-02
user2 | 2017-06-01 | 2017-06-30
user2 | 2017-05-01 | 2017-05-30
由於
增加了一個場景:如果同一月份有多個付款,該怎麼辦?並且對於每個付款日期,先前的帳單日期應該在期望的輸出中
如果'user1'在'表2'中有三條記錄怎麼辦? –
我認爲您應該將您的付款與帳單關聯起來。如果我沒有收到賬單,我永遠不會付錢給你,因此鏈接應該始終存在。所以基本上你必須在付款表中添加一列「bill_ID」。如果一筆交易支付多筆賬單,這一筆將會有麻煩。您可能需要在前端應用程序 – Luke
上處理該問題。但假設user1只有這些記錄。 –