1
此上下文可能没有帮助,但前提是:我正在为寄养中的客户提供展示位置记录。如果客户离家休息,或者如果他们的费率发生变化,或者他们改变了养父母,或者他们改变了子计划或其他一些原因,他们也会改变。我试图找出与当前的父母,费率和子程序具有相同养老金的最早的安置开始日期(并且不是暂缓)。克服子查询返回的值多于1个值
我创建了一个视图,该视图的最大展示位置不具有RSPT的状态。现在我想找到他们一直在放置用下面的代码最早:
SELECT MAX(PL.[PLCMNT ST DT]) AS MaxStDt,
PL.ProgID
FROM dbo.PlacementLog AS PL
INNER JOIN dbo.ProgramLog AS PR ON
PL.ProgID = PR.[PROGRAM KEY]
WHERE (PR.[PROGRAM CODE] = 29) AND
(PL.PlcmntStatus <> N'RSPT') AND
(PL.[PLCMNT ST DT] <
(SELECT MaxStartDate
FROM dbo.FcMaxNonRespPlcmntS2 AS FCM
WHERE (ProgID = PL.ProgID) AND
(RCode = PL.[RATE CODE]) AND
(FosFamID = PL.FosFamID) AND
(SubProg = PL.SubProg)))
GROUP BY PL.ProgID,
PL.SubProg,
PL.[RATE CODE],
PL.FosFamID
我得到的子查询返回多个值。这是不允许的...错误。任何洞察我在做什么错误?还有,有什么办法可以添加到这种代码的情况下,如果这意味着如果提前放置不存在,列表最大放置从FcMaxNonRespPlcmntS2?
谢谢任何帮助