Pour vous donner un bref résumé, je voudrais:
1. Joindre deux tables à la fois contenant de l'information Carnet d'adresses,
2. Concaténer le « indicatif régional du numéro de téléphone » et « numéro de téléphone » (parce qu'ils sont stocké dans des colonnes séparées dans notre base de données)
3. Si le 'Carnet d'adresses #' de la Colonne 1 est répété, faites apparaître les informations sur la même ligne (voir ci-dessous par exemple).Comment puis-je transposer dynamiquement des lignes dans des colonnes dans SQL?
Voici les tables et les champs, je me sers:
Les champs dans le tableau 1 (ABC_F0115):
'Adresse Book #'
'Type de téléphone'
« Zone de téléphone Code '
"Numéro de téléphone"
Champs du tableau 2 (ABC_F0 101):
'Adresse Book #'
'carnet d'adresses de type'
Mon actuelle SQL est:
SELECT WPAN8 'Address Book#', WPPHTP 'Phone Type', WPAR1 'Phone Area Code', WPPH1 'Phone Number', ABAT1 'Address Book concat('(',LTRIM(RTRIM(WPAR1)),')', ' ', WPPH1) AS 'Full Phone Number' FROM ABC.F0101 JOIN ABC.F0115 ON WPAN8=ABAN8 WHERE ABAT1='AR';
Il retourne un tableau similaire à celui ci-dessous:
| AddressBook # | PhoneType | PhoneAreaCode | Numéro de téléphone |
| ___________ _________ _____________ ___________ |
| 2160 ________ | Cellule ______ | 000 __________ | 000-0000 _____ |
| 2160 ________ | Fax______ | 111 __________ | 111-1111 ______ |
| 2161 ________ | Cellule ______ | 222 __________ | 222-2222 _____ |
| 2161 ________ | Fax______ | 333 __________ | 333-3333 _____ |
| 2162 ________ | Accueil____ | 444 __________ | 444-4444 _____ |
Cependant, je voudrais la table retourné à ressembler à:
| # AddressBook | PhoneType1 | Téléphone # 1 | PhoneType2 | Téléphone # 2 | PhoneType3 | Téléphone # 3 |
| ___________ _ _________ _ _______ _ _________ _ _________ _ _______ _ _______ |
| 2160 ________ | Cellule _______ | 000-0000 | Fax _______ | 111-1111_ | ___________ | ________ |
| 2161 ________ | Cellule _______ | 222-2222 | Fax _______ | 333-3333 | ___________ | ________ |
| 2163 ________ | Accueil _____ | 444-4444 | Fax _______ | 333-3333 | ___________ | ________ |
Je sais que je dois transposer mes lignes dans les colonnes dynamiquement ... mais je ne peux pas comprendre tout à fait mon SQL. Aucune suggestion?
Veuillez marquer RDMS. Il n'y a pas deux dialectes SQL identiques. – Parfait