我正在编写一个存储过程,它将带回很多项目信息。由于现有数据库的结构,已经确定这是我们需要采取的方法。
我的基本查询将是
Select * from Projects where ProjectID = @projectID
这将返回类似
的内容 ProjectID || Name || Component1Type || Component2Type
获得这些结果后,我想查询Component1和component2表,并返回这些组件的名称,其中包含
的内容。 Select Component1.Name from Component1 where ComponentID = Component1Type
(这是前一个查询的结果)
只会返回名称
在为3或4个项目执行此操作之后,我想将它们追加回原始查询,以便我返回一行
ProjectID || Name || Component1Type || Component2Type || Name1 || Name2 || etc...
有关如何做到这一点的任何想法?我想使用临时表还是有更简单的方法来实现这个目标?
答案 0 :(得分:3)
Select P.*, C1.Name as Name1, C2.Name as Name2
from Projects P
left join Component1 C1
on P.Component1Type = C1.ComponentID
left join Component2 C2
on P.Component2Type = C2.ComponentID
where P.ProjectID = @projectID