1.アドレス帳情報を含む2つのテーブルを結合します。
2.「電話番号エリアコード」と「電話番号」を連結します
3.列1の「アドレス帳#」が繰り返されている場合は、情報が同じ行に表示されます(以下の例を参照)。SQLで行を列に動的に転記するにはどうすればよいですか?表1のフィールド(ABC_F0115):
'アドレス帳#'
'電話タイプ'
の電話エリアをここ
は、私が使用していますテーブルやフィールドがありますコード '
「電話番号」
表2のフィールド(ABC_F0 101):
'アドレス帳#'
'アドレス帳タイプ'
私の現在のSQLは次のとおりです。
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';
それは1に似た表を戻します以下:
|アドレス帳#| PhoneType | PhoneAreaCode |電話番号|
| ___________ _ _________ _ _____________ _ ___________ |
| 2160 ________ |セル______ | 000 __________ | 000-0000 _____ |
| 2160 ________ | Fax______ | 111 __________ | 111-1111 ______ |
| 2161 ________ |セル______ | 222 __________ | 222-2222 _____ |
| 2161 ________ | Fax______ | 333 __________ | 333-3333 _____ |
| 2162 ________ |ホーム____ | 444 __________ | 444-4444 _____ |
しかし、私が見えるように返されるテーブルを希望:|アドレス帳#
| PhoneType1 |電話番号1 | PhoneType2 |電話番号2 | PhoneType3 |電話番号3 |
| ___________ _ _________ _ _______ _ _________ _ _________ _ _______ _ _______ |
| 2160 ________ |セル_______ | | 000-0000 |ファックス_______ | 111-1111_ | ___________ | ________ |
| 2161 ________ |セル_______ | 222-2222 |ファックス_______ | 333-3333 | ___________ | ________ |
| 2163 ________ |ホーム_____ | 444-4444 |ファックス_______ | 333-3333 | ___________ | ________ |
私は動的に列に私の行を転置する必要があります知っている...しかし、私はかなり私のSQLを把握することはできません。助言がありますか?
RDMSにタグを付けてください。 2つのSQL方言は似ていません。 – Parfait