ON
中是否可以有两个JOIN
语句?
我有两个表:
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| product_id | int |
| start_date | date |
| end_date | date |
| price | int |
+---------------+---------+
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| product_id | int |
| purchase_date | date |
| units | int |
+---------------+---------+
[制作JOIN
时,我写:ON table1.product_id=table2.product_id
。但是,如何添加purchase_date
也在start_date
和end_date
之间的子句。当我使用WHERE
语句时,我找不到正确的答案。
您可以在ON子句中添加多个条件
SELECT table1.*, table2.*
FROM table1
LEFT JOIN table2
ON table1.product_id = table2.product_id
AND table2.purchase_date >= table1.start_date
AND table2.purchase_date <= table1.end_date
-- ADD WHERE CLAUSE HERE IF NEEDED