SELECTクエリで疑問がありました。SQL結果をフィールドに分割して列に変換します
私はユーザーのためのメインテーブルを持っていると私は、コンテンツを分割するために、いくつかの複数のテーブルを作成した私のプロジェクトで、このような何か:
tblUser UID のuname udateofbirth uadress
tblPhoneNumber PID UID p型 pnumber
tblPhoneRelation UID pid
電話テーブルの結果を使用してユーザーテーブルのフィールドを選択する必要がありますが、電話機を別のフィールドに分割する必要があり、電話番号検索で0〜4の結果が返される可能性がありますユーザーごとに
(商用電話やメッセージの4のための自宅の電話のための携帯電話、2に1のようなp型で定義されている、3) 私は何を持っていることはこれに似ており、私の携帯電話の結果を与える:
SELECT u.uname AS Name, u.udateofbirth AS 'Date of B.', p.pnumber AS 'Cell phone' FROM tblUser AS u JOIN phonerelation ON u.uid = phonerelation.uid JOIN tblPhoneNumber AS p WHERE p.pid = 1 AND p.pid = phonerelation.pid;
そして、私の結果
名前| Bの日付|携帯電話
しかし、私はに増加する必要があります:
名前| Bの日付|携帯電話|ホーム電話|商業用電話|メッセージ電話
Sugestions?
あなたはhttp://sqlfiddle.com/にいくつかのテーブル/データを投稿してください。 –