所以我有以下两个表(简化了):
表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
非常感谢您的帮助!
答案 0 :(得分:1)
我认为窗口功能可以解决您的问题:
Select T.DESC_TEMPLATE,
MAX(F.DESC_FOLDER) OVER (PARTITION BY t.GROUP) as DESC_FOLDER
from TEMPLATES T left join
FOLDERS F
on T.ID = F.TEMPLATE_ID;
答案 1 :(得分:-1)
where
T.ID = F.TEMPLATE_ID (+)