代码之家  ›  专栏  ›  技术社区  ›  Stefan Steiger Marco van de Voort

分组时获取UID

  •  1
  • Stefan Steiger Marco van de Voort  · 技术社区  · 16 年前

    我在桌子上选

    [V_RPT_BelegungKostenstelleDetail] 
    WHERE SO_UID = '7C7035C8-56DD-4A44-93CC-F16FD66280A3' 
    AND GB_UID = '4FF1B0EE-A5DD-4699-94B7-760922666CE2'
    AND GS_UID = '1188759A-54E1-4323-8BF2-85E71B3C796E'
    AND RM_UID = '088C3559-6E6E-468A-9554-6740840FCBA1'
    AND NA_UID= '96A2A8DB-8C83-4C60-9060-F0F55719AF5C'
    GROUP BY KST_UID 
    

    我怎么能得到这么多钱?这在任何地方都是一样的,但是当我试图用返回值获取这么多UID时,我会得到一个错误。。。

    所以没有必要像这里的‘7C7035C8-56DD-4A44-93CC-F16FD66280A3’那样给出UID,所以我不能只是手动地将它添加为字符串。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Oded    16 年前

    你需要使用 aggregate function 以获取其他列数据。因为此列将始终具有相同的值(感谢 WHERE 子句),您可以使用 MAX() :

    SELECT KST_UID, MAX(SO_UID) 
    FROM [V_RPT_BelegungKostenstelleDetail] 
    WHERE SO_UID = '7C7035C8-56DD-4A44-93CC-F16FD66280A3' 
    AND GB_UID = '4FF1B0EE-A5DD-4699-94B7-760922666CE2'
    AND GS_UID = '1188759A-54E1-4323-8BF2-85E71B3C796E'
    AND RM_UID = '088C3559-6E6E-468A-9554-6740840FCBA1'
    AND NA_UID= '96A2A8DB-8C83-4C60-9060-F0F55719AF5C'
    GROUP BY KST_UID 
    
        2
  •  0
  •   Stefan Steiger Marco van de Voort    16 年前

    正确的答案很简单,问题很愚蠢:

    SELECT KST_UID, SO_UID, GB_UID, RM_UID, NA_UID
    FROM [V_RPT_BelegungKostenstelleDetail] 
    
    WHERE  SO_UID = '7C7035C8-56DD-4A44-93CC-F16FD66280A3' 
       AND GB_UID = '4FF1B0EE-A5DD-4699-94B7-760922666CE2'
       AND GS_UID = '1188759A-54E1-4323-8BF2-85E71B3C796E'
       AND RM_UID = '088C3559-6E6E-468A-9554-6740840FCBA1'
       AND NA_UID = '96A2A8DB-8C83-4C60-9060-F0F55719AF5C'
    GROUP BY KST_UID, SO_UID, GB_UID, RM_UID, NA_UID