【发布时间】:2020-12-04 03:54:06
【问题描述】:
数据库中的表:
- 我在 MySQL
STORES和NEW_ARRIVALS中有两个表。 - 一个有所有商店的详细信息,另一个表存储新到货的详细信息(如果有)。
- 两者都通过
store_id列链接。
我想做的事:
- 列出所有有到达条目的商店,而不显示重复的商店。
我尝试了两个 SQL 查询:
SELECT
stores.id,
stores.name
new_arrivals.id,
new_arrivals.title,
new_arrivals.store_id
FROM
stores,
new_arrivals
上述 SQL 有效,但列出了多个商店。对于商店中的每个新到货,都有一排。每个商店我只想要一个条目。
所以我尝试了以下 SQL 查询:
SELECT
na.id,
na.is_active,
na.store_id
FROM
new_arrivals as na
group by na.store_id
上述查询给出了唯一的store_ids,但我可以从stores 表中获取信息。
我进一步尝试了以下没有结果:
SELECT
na.id,
na.is_active,
na.store_id
FROM
new_arrivals as
INNER JOIN (
SELECT name
FROM stores as sl
) As locations
group by na.store_id
实现这一目标的最佳方法是什么?
【问题讨论】:
标签: mysql join duplicates foreign-keys relationship