克服子查询返回的值超过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中的最大放置?

感谢您的任何帮助

西蒙

您可以使用TOP 1ORDER BY

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     TOP 1 MaxStartDate
                            FROM          dbo.FcMaxNonRespPlcmntS2 AS FCM
                            WHERE      (ProgID = PL.ProgID) AND (RCode = PL.[RATE CODE]) AND (FosFamID = PL.FosFamID) AND (SubProg = PL.SubProg)
                            ORDER BY MaxStartDate DESC))
GROUP BY PL.ProgID, PL.SubProg, PL.[RATE CODE], PL.FosFamID

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

子查询返回的值超过1

来自分类Dev

出现错误:子查询返回的值超过1

来自分类Dev

SQL错误[512] [21000]:子查询返回的值超过1

来自分类Dev

有问题要解决-子查询返回的值超过1

来自分类Dev

SQL错误。子查询返回的值超过1

来自分类Dev

sp错误:子查询返回的值超过1

来自分类Dev

SQL Server:子查询返回的值超过1

来自分类Dev

错误512:子查询返回的值超过1

来自分类Dev

如何避免“子查询返回超过 1 个值”报告?

来自分类Dev

触发器子查询返回超过 1 个值

来自分类Dev

子查询返回超过 1 个值如何修复

来自分类Dev

没有子查询时子查询返回超过 1 个值

来自分类Dev

当子查询跟随子查询返回超过 1 个值时,这是不允许的

来自分类Dev

子查询返回超过1行的MySQL

来自分类Dev

子查询返回超过1行的MySQL

来自分类Dev

我遇到错误-子查询返回的值超过1。我的查询出了什么问题

来自分类Dev

SQL子查询超过1个值

来自分类Dev

子查询返回的值超过1。如何处理此值并获取多个ID

来自分类Dev

将参数传递给函数;子查询返回的值超过1。这是不允许的

来自分类Dev

更新表,其中IN显示错误子查询返回的值超过1

来自分类Dev

SQL子查询返回的值超过1,而无需更新它可以正常工作

来自分类Dev

子查询即使使用IN运算符也返回了超过1个值

来自分类Dev

触发器执行时子查询返回超过 1 个值

来自分类Dev

子查询返回的值超过1。当子查询跟随时,这是不允许的。嵌套案例树

来自分类Dev

子查询返回的值超过1。当子查询后跟=或将子查询用作表达式时,这是不允许的?

来自分类Dev

子查询返回的值超过1。当子查询遵循=,!=或将子查询用作表达式时,不允许这样做

来自分类Dev

子查询返回的通配符超过1行LIKE&CONCAT

来自分类Dev

#1242-子查询返回的行数超过1

来自分类Dev

SQL错误(1242):子查询返回的行数超过1

Related 相关文章

  1. 1

    子查询返回的值超过1

  2. 2

    出现错误:子查询返回的值超过1

  3. 3

    SQL错误[512] [21000]:子查询返回的值超过1

  4. 4

    有问题要解决-子查询返回的值超过1

  5. 5

    SQL错误。子查询返回的值超过1

  6. 6

    sp错误:子查询返回的值超过1

  7. 7

    SQL Server:子查询返回的值超过1

  8. 8

    错误512:子查询返回的值超过1

  9. 9

    如何避免“子查询返回超过 1 个值”报告?

  10. 10

    触发器子查询返回超过 1 个值

  11. 11

    子查询返回超过 1 个值如何修复

  12. 12

    没有子查询时子查询返回超过 1 个值

  13. 13

    当子查询跟随子查询返回超过 1 个值时,这是不允许的

  14. 14

    子查询返回超过1行的MySQL

  15. 15

    子查询返回超过1行的MySQL

  16. 16

    我遇到错误-子查询返回的值超过1。我的查询出了什么问题

  17. 17

    SQL子查询超过1个值

  18. 18

    子查询返回的值超过1。如何处理此值并获取多个ID

  19. 19

    将参数传递给函数;子查询返回的值超过1。这是不允许的

  20. 20

    更新表,其中IN显示错误子查询返回的值超过1

  21. 21

    SQL子查询返回的值超过1,而无需更新它可以正常工作

  22. 22

    子查询即使使用IN运算符也返回了超过1个值

  23. 23

    触发器执行时子查询返回超过 1 个值

  24. 24

    子查询返回的值超过1。当子查询跟随时,这是不允许的。嵌套案例树

  25. 25

    子查询返回的值超过1。当子查询后跟=或将子查询用作表达式时,这是不允许的?

  26. 26

    子查询返回的值超过1。当子查询遵循=,!=或将子查询用作表达式时,不允许这样做

  27. 27

    子查询返回的通配符超过1行LIKE&CONCAT

  28. 28

    #1242-子查询返回的行数超过1

  29. 29

    SQL错误(1242):子查询返回的行数超过1

热门标签

归档