recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment ajouter une colonne supplémentaire à la même table tout en conservant la clause group by

Liste des colonnes dans le tableau 1 : Plan_ID, Claim_id, Patient_id, B_OR_G

Liste des colonnes dans le tableau 2 : Ojid, Shapland

1

2

3

4

5

6

7

8

9

10

11

12

13

select distinct a.Plan_ID

       , a.Total_Claims

       , Total_Patients

       ,  b.PERIOD

       , b.ORGID,a.B_OR_G

FROM (Select distinct Plan_ID

             , count(distinct Claim_id) as Total_Claims

             , count(distinct Patient_id)  as Total_Patients

      from table1 group by 1) a

JOIN (select *

             , row_number() over (partition by ORGID,SHAPLANID order by PROCESSINGDATE desc) as rank

      from table2 qualify rank = 1) b

ON LTRIM(a.PLAN_ID, '0') = b.SHAPLANID

Dans la requête ci-dessus, je souhaite extraire une colonne supplémentaire nommée "B_or_G" de la table1 (c'est-à-dire a) sans interférer avec la clause group by car cela est nécessaire selon nos exigences.

Y a-t-il une meilleure façon de procéder ? Merci! !

P粉729436537P粉729436537275 Il y a quelques jours431

répondre à tous(1)je répondrai

  • P粉447785031

    P粉4477850312024-04-02 00:19:32

    Je pense que vous pouvez utiliser ANY_VALUE(B_or_G)

    Par exemple :

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    select distinct a.Plan_ID

           , a.Total_Claims

           , Total_Patients

           ,  b.PERIOD

           , b.ORGID,a.B_OR_G

    FROM (Select distinct Plan_ID

                 , count(distinct Claim_id) as Total_Claims

                 , count(distinct Patient_id)  as Total_Patients

                 , ANY_VALUE(B_OR_G)

          from table1 group by 1) a

    JOIN (select *

                 , row_number() over (partition by ORGID,SHAPLANID order by PROCESSINGDATE desc) as rank

          from table2 qualify rank = 1) b

    ON LTRIM(a.PLAN_ID, '0') = b.SHAPLANID

    répondre
    0
  • Annulerrépondre