JOIN中的多个ON子句

问题描述 投票:-2回答:1

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_dateend_date之间的子句。当我使用WHERE语句时,我找不到正确的答案。

mysql join
1个回答
1
投票

您可以在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
© www.soinside.com 2019 - 2024. All rights reserved.