日期:2014-05-17  浏览次数:20485 次

四张表传参的问题
假设有A,B,C,D四张表
其中A,B是以ID1来关联
B,C是以ID2来关联
C,D是以ID3来关联
而ID1,ID2,ID3在将来的使用中
都将用@id1,@id2,@id3参数方式

目前D表中有用字段最多,ABC各一个
请教语句应该怎么写,谢谢
传参 SQL

------解决方案--------------------
连接表不就可以了?

SELECT A.COLA
   ,B.COLB
   ,C.COLC
   ,D.COLD1
   ,D.COLD2
   ,...
FROM A,B,C,D
WHERE A.ID1= B.ID1
AND B.ID2= C.ID2
AND C.ID3 = D.ID3
AND A.ID1 = @ID1
AND B.ID2 = @ID2
AND C.ID3 = @ID3
------解决方案--------------------
SELECT S.State,S.Name,P.operationSequenceId,S.Description,S.Quantity,P.StartCalendar,P.EndCalendar
        FROM GanttMultiuser.dbo.EOperation as P join GanttMultiuser.dbo.EProductionOrder as S
        WHERE @StartDate = P.StartCalendar and @State = S.State AND P.SelectedResourceId in ( Select P.SelectedResourceId from GanttMultiuser.dbo.EResource as T WHERE @Name = T.Name and T.Id = P.SelectedResourceId and @GroupId = T.ResourceGroupId )
   

上面是你的代码,用红色标记的地方有问题,你可以换换位置。例如P.StartCalendar =@StartDate