Sql 多对多关系

Sql 多对多关系,sql,excel,join,union,Sql,Excel,Join,Union,我每周将收到3份excel文件。第一个是A部门的项目,项目ID为x列。第二个是来自部门B的项目,同样具有项目ID x列数。这些项目通常是相关的(多对多关系),因此我将收到第三个excel,其中包含哪些项目属于哪些项目的映射。稍后这个过程将自动进行,因此我想尝试提前创建一个像样的SQL解决方案 我的输出应显示相关项目,如下所示: <br />Department A | Project_ID | Project name | etc <br />Department B |

我每周将收到3份excel文件。第一个是A部门的项目,项目ID为x列。第二个是来自部门B的项目,同样具有项目ID x列数。这些项目通常是相关的(多对多关系),因此我将收到第三个excel,其中包含哪些项目属于哪些项目的映射。稍后这个过程将自动进行,因此我想尝试提前创建一个像样的
SQL
解决方案

我的输出应显示相关项目,如下所示:

<br />Department A | Project_ID | Project name | etc
<br />Department B | Project_ID | Project name | etc
<br />Department B | Project_ID | Project name | etc

部门A |项目ID |项目名称|等
部门B |项目ID |项目名称|等
部门B |项目ID |项目名称|等
此外,当项目还没有映射时,应该有一个指示

我试过: 为每个excel文件创建一个表。然后完全将部门A项目加入到项目B中,这样所有项目都在表中,而不考虑链接。但是,该结果显示相关项目彼此相邻,而不是在下面。为了进一步澄清,我创建了一个小示例。选项卡表示文件、映射或输出


希望你能给我正确的推力!谢谢

您似乎想使用
联合所有人
,而不是加入:

SELECT 'Department A', id, name
FROM   projects_a
UNION ALL
SELECT 'Department B', id, name
FROM   projects_b
UNION ALL
SELECT 'Department C', id, name
FROM   projects_c
UNION ALL
SELECT 'Department D', id, name
FROM   projects_d

映射是否也有两个项目ID?如果是这样,你可以加入他们。问题是什么?因为在我的输出中,我需要它们彼此低于对方。在这种情况下,请更清楚地说明您尝试了什么以及输出应该是什么样子。请给出明确的示例,例如,在一组项目中没有关系或存在多个关系。根据示例电子表格,预期输出中的所有信息都包含在映射选项卡中,只是以不同的格式显示。“部门A”和“部门B”选项卡似乎没有添加任何内容,并且似乎不一致-项目6与部门A中的136658关联,但在映射和预期输出中与136659关联。部门B中的名称6也存在类似的不一致。那么,除了映射中可用的信息之外,部门a和部门B中的信息提供了什么?这些表还包含有关项目状态、预算、规划等的信息,但我省略了这些信息,因为这不是我的问题的关键。顺便说一句,我已经更新了excel以获得更好的示例。是的,确实如此,但是我如何将相关项目分组到各个部门?谢谢你的答复