我有一個看起來像這樣的表,我們稱之為 TABLE_1:
| Customer_ID | Date_Start | Date_End |
| c1 | 2017-09-24 | 2017-03-24 |
| c2 | 2017-03-28 | 2017-09-28 |
| c3 | 2018-12-22 | 2019-06-22 |
| c4 | 2017-04-26 | 2017-10-26 |
還有一個名為 TABLE_2 的表,其中包含多個日期的所有客戶 ID 的記錄。有沒有一種方法可以使用來自 TABLE_2 的 SQL 查詢獲取行,這樣我就可以根據上面的 TABLE_1 在 Date_Start 和 Date_End 的范圍內計算每個客戶 ID 在 TABLE_2 中出現的次數?
每個客戶 ID 都有一個過濾器。
uj5u.com熱心網友回復:
如果我理解這個問題,這可能會做到:
SELECT T1.Customer_ID, T1.Date_Start, T1.Date_End, COUNT(*)
FROM Table1 AS T1
LEFT JOIN Table2 AS T2
on T1.Customer_ID=T2.Customer_ID
and T2.cust_date BETWEEN T1.Date_Start and T2.Date_Start
uj5u.com熱心網友回復:
選擇不同的 Table1.customer_ID 計數(Table_2.customer_ID)
從 TABLE_1 離開 TABLE_1_customer_ID = TABLE_2_customer_ID 加入 TABLE_2
下面會有所幫助
如何在 SQL 中有效地計算列值的出現次數?
uj5u.com熱心網友回復:
也許一個簡單的左連接會有所幫助
SELECT A.Customer_ID, COUNT(B.Customer_ID ) as count_of_records
FROM TABLE_1 A LEFT JOIN
TABLE_2 B
ON A.Customer_ID =B.Customer_ID
WHERE B.datecol BETWEEN A.Date_Start AND A.Date_End
GROUP BY A.Customer_ID
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/463333.html
上一篇:如何將屬性添加到根
