0

現在、SQL ステートメントに少し問題があります。結合内で条件によってグループを取得する必要があります。さて、これが機能しないことはわかっていますが、これを行う方法はほとんどあります。これを行う方法の手がかりを教えていただければ幸いです。

声明:

SELECT 
   btst.Ordnungsbegriff AS BBNR,
   COUNT(vp.KVNR) 
   FROM T_Betriebsstaette btst
      JOIN T_VERSICHERUNGSZEIT vz
         ON vz.BETRIEBSNUMMER = btst.Ordnungsbegriff
         AND vz.VALIDTO = date('2999-12-31')
         AND vz.PERSONENKREIS = 'Beschäftigte'
         AND vz.BEITRAGSGRUPPEKV_IID > 0
         AND vz.PERSONENGRUPPENSCHLUESSEL IN (101, 102, 103, 118, 119)
         JOIN T_VERSICHERTEPERSON vp
            ON vp.OID = vz.VERSPERS_VERSPERSON_ID
            AND ('1' = '0' or '1' = '1' and (vp.VIPKENNZEICHEN is null or  NOT vp.VIPKENNZEICHEN is null and vp.VIPKENNZEICHEN  NOT  in (5, 6)))

私がそこに入れなければならないGroup By句:

GROUP BY vz."VALIDTO", vz."BETRIEBSNUMMER"

私はSQLの専門家ではありません。皆さんが私を少し助けてくれることを願っています。:)

4

1 に答える 1

1

句を使用する場合、group by句内の要素は句内にあるか、集計関数 (sum、max など) でselectある必要があります。group by

そう

SELECT 
   btst.Ordnungsbegriff AS BBNR,
   COUNT(vp.KVNR) 
   FROM 

   ...
GROUP BY vz."VALIDTO", vz."BETRIEBSNUMMER", btst.Ordnungsbegriff 
于 2012-11-02T08:45:35.680 に答える