【发布时间】:2017-01-11 03:20:49
【问题描述】:
我有 3 个表 UPDATES、MODELS 和 UPDATES_MODELS。
UPDATES 表具有以下列:
- update_id,
- 已发布
- 缩略图
MODELS 表具有以下列:
- model_id
- 名字
- 姓氏。
UPDATES_MODELS 是一个链接表,包含以下列:
- update_id
- model_id。
有些更新有超过 1 个模型。例如,如果更新有 2 个模型,我的查询将返回 2 个重复的缩略图、2 个重复的标题, 2 个重复的日期,1 个更新将具有 1 个型号名称,而另一个更新将具有另一个型号名称。
这不是我想要的。
包含 2 个或更多模型的更新应返回 1 个缩略图、1 个标题、1 个日期,并在更新中列出两个模型名称。
我尝试在 SQL 查询中使用 DISTINCT,但什么也没做。无论是否使用 DISTINCT 关键字,我都得到了相同的结果。
这是我的代码:
SELECT updates.update_id, title, posted, duration, updates.thumbnail, updates.alt_tag, updates.title_tag, updates.visible, models.model_id, first_name, last_name, updates_models.update_id, updates_models.model_id
FROM updates
INNER JOIN updates_models
ON updates.update_id = updates_models.update_id
INNER JOIN models
ON models.model_id = updates_models.model_id
【问题讨论】:
-
给出你想要的样本数据和样本结果。
-
所以您期望您的 SELECT 生成 1 整行(缩略图、标题、日期和模型),以及仅包含模型的第二行?对不起,但这不会发生。处理仅提取前端应用或报告中的相关信息。
-
感谢肯的意见。你是说我需要运行 2 个 SQL 查询?
-
如果为表创建别名,则可以减少必须在返回列中输入的字符