表 1 :
QUERY: クライアント テーブルの作成 ( applicationNo int 主キー、name varchar(20) );
Insert ステートメント: Insert into client values (1,'XYZ'),(1,'ABC'),(1,'DEF');
アプリケーション番号 | 名前 1 | XYZ 2 | ABC 3 | 防御力
表 2:
クエリ : テーブル client ( applicationNo int、phoneNo Bigint、外部キー (applicationNo) は client (applicationNo)、主キー (applicationNO,phoneNo) を参照) を作成します。
phoneNO 値 (1,999999)、(1,888888)、(2,777777)、(3,666666)、(3,555555) に挿入します。
アプリケーション番号 | 電話番号 1 | 999999 1 | 888888 2 | 777777 3 | 666666 3 | 555555
次の出力が得られるように両方のテーブルを結合してタプルを取得できますか?ただし、単一のクエリを使用して、mysql 5.1 を使用しています
アプリケーション番号 | 名前 | 電話番号 1 | 電話番号2 1 | XYZ | 999999 | 88888 2 | ABC | 77777 | ヌル 3 | 防御 | 66666 | 555555
編集済み:追加情報
クロスタブと呼ばれるものを使用してみましたが、caseステートメント内でtotalPhoneNoを使用できません
SELECT applicationNo,count(phoneNo) as totalPhoneNo, SUM(CASE WHEN totalPhoneNo= 1 THEN phoneNO ELSE Null END) AS phoneNo1, SUM(CASE WHEN totalPhoneNO = 2 THEN phoneNo ELSE Null END) AS phoneNo2 FROM phoneNO GROUP BY applicationNo;