-1
votes

Créer une colonne de groupe avec des valeurs basées sur la jointure

J'ai deux tables 1) une table de compte 2) Table de compte. Je veux voir quels comptes sont primaires et qui sont des comptes secondaires.

Dans une table, j'ai Accountrowid et CompteNumber . Dans l'autre table, j'ai primaireAccounnTowid et secondaireAccounntrowid .

pour ma sortie, je voudrais avoir tous les comptesNumbers dans une colonne avec tous les Accountrelationhip (primaire ou seconday) Dans une autre colonne à côté de chaque comptable .

Pour rejoindre la table, pour PrimaryAccounts Je voudrais rejoindre AccountRowid sur primaireAccounnTowid primaireAccounntrowid il serait secondaireaccountrowowid .

Table de mon compte: xxx

Table client: XXX

Ce que je veux voir ma table ressembler à xxx

Veuillez fournir une logique / code utile de la manière dont j'attirai ces résultats. Merci


2 commentaires

primaireAccounnTowid et secondaireAccounnTrowId sont deux colonnes différentes ou de même colonne différentes valeurs?


@Dineshdb Deux colonnes différentes de la table, toutes deux joignent sur l'AccountRowid dans la table du compte. La table a été conçue avant que je commençais à travailler pour la société et a fait deux colonnes opposées pour pouvoir dire ce qui était le primaire et secondaire par une jointure. Je veux faire ce qui précède si vous pouvez m'aider s'il vous plaît


3 Réponses :


1
votes

Ceci peut être atteint à l'aide d'une jointure gauche entre les deux tables. Fondamentalement, en vérifiant si l'AccountRowid existe dans la colonne principaleAccounntrowid de la table des clients, vous sauriez si le compte de compte est un primaire, de la même manière la logique de secondaire, par exemple, par exemple: xxx


0 commentaires

0
votes

Essayez ceci:

SELECT AccountNumber,
    MAX(CASE WHEN B.PrimaryAccountRowId IS NOT NULL THEN 'Primary'
             WHEN C.SecondaryAccountRowId IS NOT NULL THEN 'Secondary'
        END)AccountRelationship
FROM AccountTable A
LEFT JOIN CustomerTable B ON A.AccountRowId = B.PrimaryAccountRowId
LEFT JOIN CustomerTable C ON A.AccountRowId = C.SecondaryAccountRowId
GROUP BY AccountNumber


0 commentaires

0
votes

Vous pouvez y parvenir avec l'union tout. xxx


0 commentaires