查询SQL-列中返回的两条指令
我有两条指令,我需要一条SQL指令在两列中返回查询SQL-列中返回的两条指令,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,我有两条指令,我需要一条SQL指令在两列中返回 Column 1: Subfolders. Column 2: Main folders of this subfolders. --主文件夹 select distinct folder_path as 'main_folder' from X where folder_path like '%\' order by folder_path --返回6行 --子文件夹 select distinct folder_path as 'sub_
Column 1: Subfolders.
Column 2: Main folders of this subfolders.
--主文件夹
select distinct folder_path as 'main_folder'
from X
where folder_path like '%\' order by folder_path
--返回6行
--子文件夹
select distinct folder_path as 'sub_folder'
from X
where folder_path not like '%\' order by folder_path
--返回14行听起来您基本上想要一个
加入
。假设您的主视图看起来像folder1\
,folder2\
,子视图看起来像folder1\a
,folder1\b
:
SELECT DISTINCT
main.folder_path AS main_folder,
sub.folder_path AS sub_folder
FROM
X main
JOIN X sub
ON main.folder_path = LEFT(sub.folder_path, LEN(main.folder_path))
我想在这两种情况下,
X
是一个不同的文件夹。此外,您的代码缺少理解此问题所需的信息。需要更清楚地说明这一点。例如,您的两个查询都使用较旧的路径,如“%\”order by folder\u path。这是怎么回事?@meewoK:OP对main和sub都有like
和notlike
。抓得好!整个不喜欢和不喜欢的事情都逃过了我的眼睛。Tks,Zimdanen等等!一切都好!我刚刚做了一个改编。我在本说明中添加了一个“where”。“where main.folder\u path sub.folder\u path”。