【发布时间】:2019-03-18 13:13:53
【问题描述】:
所以我有以下两个表(简化):
表 1:文件夹
ID | DESC_FOLDER | TEMPLATE_ID
---------------------------------
... | ... | ...
20 | Folder 1 | 52
21 | Folder 2 | 55
... | | ...
表 2:模板
ID | DESC_TEMPLATE | GROUP
-----------------------------
... | ... | ...
51 | Template 1 | abc
52 | Template 2 | abc
53 | Template 3 | abc
54 | Template 4 | abc
55 | Template 5 | NULL
... | ... | ...
结果应该是一个包含所有模板及其对应文件夹的列表。
预期结果:
DESC_TEMPLATE | DESC_FOLDER
---------------------------
Template 1 | Folder 1
Template 2 | Folder 1
Template 3 | Folder 1
Template 4 | Folder 1
Template 5 | Folder 2
我对分组模板有疑问,因为每个组中只有一个模板连接到文件夹。下面的 sql 命令显然只返回直接连接到文件夹的模板。如何扩展我的命令以获得所需的输出?
Select
T.DESC_TEMPLATE,
F.DESC_FOLDER
from
TEMPLATES T,
FOLDERS F
where
T.ID = F.TEMPLATE_ID
非常感谢您的帮助!
【问题讨论】:
-
今日提示:始终使用现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读和维护,如果需要更容易转换为外连接! -
预期结果是否真的与示例表数据匹配?
-
是的,我只是仔细检查了一遍:-)。模板 1-4 组合在一起(“abc”)。模板 2 连接到文件夹 1,因此该组中的所有其他模板也连接到文件夹 1。
-
好的,现在我明白了。