У меня возникло сомнение в запросе SELECT.Разбить результат SQL на поля и повернуть их в столбцах
В моем проекте у меня есть основная таблица для пользователей и я создал еще несколько таблиц, чтобы разделить содержание, что-то вроде этого:
tblUser UID uname udateofbirth uadress
tblPhoneNumber PID UID PTYPE pnumber
tblPhoneRelation UID pid
Мне нужно ВЫБРАТЬ поля из таблицы пользователей с результатами телефонной таблицы, но проблема в том, что мне нужно разделить телефоны на разные поля, и мой поиск номера телефона может вернуть от 0 до 4 результатов для каждого пользователя.
То, что я получил, это похоже на это и дает мне результат сотового телефона (определенный в PTYPE как 1 на мобильный телефон, 2 для домашнего телефона, 3 для коммерческого телефона и 4 для сообщения):
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;
И мой результат
Имя | Дата Б. | Сотовый телефон
Но мне нужно увеличить до:
Имя | Дата Б. | Сотовый телефон | Домашний телефон | Торговый телефон | Телефон сообщений
Sugestions?
вы можете разместить некоторые таблицы/данные на http://sqlfiddle.com/ –