我正在使用SQL Query,下面是表格。
组织
OrgID Name RAOID SubGroupID
1 Org RAO1 2 NULL
2 Org RAO2 NULL 2
3 Org Sub Group1 3 NULL
4 Org RAO3 NULL 1
5 Org RAO4 1 NULL
6 Org Sub Group2 NULL 3
RAO
RAOID RAOGID
1 1
2 1
子组
SubGroupID RAOID
1 1
2 1
3 1
4 2
我有三个表Organization,RAO,SubGroup。我可以拥有RAO或SubGroup类型的组织。但是,如果您看到子组表,则它具有多个RAOID。当任何rao orgid传递给查询时,我希望rao下的所有子组织名称。
答案 0 :(得分:1)
我用以下查询解决了我的问题
CREATE PROCEDURE uspGetSubSource
( @ORGID INT)
AS
DECLARE @RAOID INT
SET @RAOID = (SELECT RAOID FROM tblOrganisation WHERE ORGID = @ORGID)
IF @RAOID IS NOT NULL
BEGIN
SELECT tblOrganisation.ORGID,
tblOrganisation.NAME as SUBSOURCENAME FROM tblOrganisation
LEFT OUTER JOIN tblSubGroup ON tblOrganisation.SubGroupID = tblSubGroup.SubGroupID
WHERE
tblSubGroup.RAOID = @RAOID
END
干杯!!