Таблица 1:
ЗАПРОС: Создать таблицу клиента (
applicationNo Int первичный ключ,
Имя Варчар (20)
);
Вставить оператор: Вставить в значения клиента (1, 'XYZ'), (1, 'ABC'), (1, 'DEF');
applicationNo | name
1 | XYZ
2 | ABC
3 | DEF
Таблица 2:
Запрос: создание таблицы клиента (
applicationNo int,
телефон Бигинт,
внешний ключ (applicationNo) ссылается на клиента (applicationNo),
первичный ключ (приложение NO, phoneNo)
)
Вставить в phoneNO значения (1,999999), (1,888888), (2,777777), (3,666666), (3,555555);
applicationNo | phoneNo
1 | 999999
1 | 888888
2 | 777777
3 | 666666
3 | 555555
Могу ли я получить кортежи, соединив обе таблицы таким образом, чтобы получить следующий вывод, но используя один запрос, также я использую mysql 5.1
applicationNo | name | phoneNo1 | phoneNo2
1 | XYZ | 999999 | 88888
2 | ABC | 77777 | Null
3 | DEF | 66666 | 555555
Отредактировано: дополнительная информация
Я попытался использовать то, что называется кросс-таб. Но я не могу использовать totalPhoneNo внутри оператора case
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;