J'ai deux tables :
table1
:
Manager | USER
--------+------
John | Tom
John | David
John | Marry
James | Henry
table2
: Maintenant est vide, mais doit être comme ceci :
Manager | User1 | User2 | User3
--------+-------+-------+-------
John | Tom | David | Marry
James | Henry | null | null
Est-ce possible ?
0 votes
C'est certainement possible, mais vos contraintes importent. personnellement, j'écrirais une procédure stockée qui renvoie tous les employés de la table1 pour un superviseur donné. Ensuite, un curseur sur la liste distincte des superviseurs vous permettrait d'obtenir tous les subordonnés et de les insérer dans la nouvelle table. Il existe probablement des façons de le faire avec juste du code de sélection, mais vos tables (mal conçues) rendront cela plus difficile. Je vous recommanderais de rester fidèle à la conception de table1 et d'éviter la conception de table2, car elle rompt avec la deuxième forme normale.
0 votes
Si vous avez simplement besoin de générer un rapport dans ce format vers une table temporaire ou quelque chose du genre, regardez la syntaxe
SELECT COALESCE
car j'ai généré des rapports dans SQL Server comme vous le décrivez juste pour un rapport mais je ne le ferais pas pour une conception de table permanente mais cela devrait vous permettre de commencer. Consultez aussi dba.stackexchange.com.0 votes
Oui, il vous suffit de faire une requête et d'ajouter à une table temporaire.. Vous devrez partager ce que vous avez essayé afin que nous puissions vous aider en fonction de votre code existant :)