【发布时间】:2022-01-05 06:03:45
【问题描述】:
我有以下表格
产品表:
| id | product_type | product_code |
|---|---|---|
| 200 | Camera | 3222333 |
| 201 | Television | 5432322 |
| 202 | PC | 4332233 |
| 203 | Mac | 1244532 |
| 204 | Notebook | 7543223 |
product_released_country1 表:
| id | product_code | released_year |
|---|---|---|
| 1 | 3222333 | 2000 |
| 2 | 3222333 | 2001 |
| 3 | 3222333 | 2003 |
| 4 | 5432322 | 2000 |
| 5 | 5432322 | 2001 |
| 6 | 5432322 | 2010 |
product_released_country2 表:
| id | product_code | released_year |
|---|---|---|
| 1 | 4332233 | 2000 |
| 2 | 4332233 | 2001 |
| 3 | 4332233 | 2009 |
| 4 | 1244532 | 2000 |
| 5 | 1244532 | 2001 |
| 6 | 1244532 | 2010 |
在不同国家/地区发布的产品保存在 2 个不同的表中。我需要一个查询来通过检查两个表来返回所有产品,以查看是否有任何产品已在 2010 年发布。如果产品是在 2010 年发布的,则为特定产品返回“是”。如果产品在 2010 年未发布或任何年份都未发布(例如:product_code 7543223),则查询应为 is_product_released_in_2010 列返回“no”。
预期输出:
| id | product_type | product_code | is_product_released_in_2010 |
|---|---|---|---|
| 200 | Camera | 3222333 | no |
| 201 | Television | 5432322 | yes |
| 202 | PC | 4332233 | no |
| 203 | Mac | 1244532 | yes |
| 204 | Notebook | 7543223 | no |
我尝试使用 union all 加入这两个表,但仍然没有得到想要的结果。任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: mysql sql join plsql left-join