Я работаю над проектом, и он стал немного сложнее, чем я могу иметь дело.У меня есть кусок SQL, который внутренне объединяет несколько таблицОдна из этих таблиц возвращает средства связи для каждого человека (например, номер телефона, радиозвонок, пейджер).
После того, как я реализовал этот код, SQL (совершенно справедливо) возвращает несколько записей для каждого человека, в зависимости от того, какие поля связи они заполнили.Таким образом, поиск для меня вернул бы:
Name | COMM_VALUE | COMM_RID
Nick | 07123 456789 | 5
Nick | 0965 | 6
Nick | 328493 | 7
Где как мне нужно:
Name | Mobile | Radio | Pager
Nick | 07123 456789 | 0965 | 328493
Bob | etc etc etc
Это часть таблицы гораздо большего размера, поэтому мой вопрос заключается в том, как добавить эти столбцы вмой существующий SQL, я посмотрел на вложенные, подзапросы и союзы, но с тех пор, как я сделал SQL, прошло много времени, и даже мой основной прогресс был в тестировании моих возможностей.
Я предполагаю что-то вроде следующего, но не уверен включевые слова, которые мне нужны для достижения этой цели:
Select
PRP.FIRSTNAME + ‘ ‘ + PRP.SURNAME AS FULLNAME,
RDP.POSTNAME,
RRP.REMARKS,
*/ NEW COLUMNS */
(SELECT COMM_VALUE FROM PERREC_COMMS WHERE COMM_RID = ‘6’) AS RADIO
Приведенный выше (отредактированный) код дает результаты, но не совсем так, как я ожидал:
Name | RADIO
Nick | 0965
Nick | null
Nick | null
Вышеприведенное затем повторяется для каждого человекас другими полями, которые отображаются правильно, хотя дублируются в каждой строке.
Как можно объединить эти результаты в одну строку (исключая результаты 'null')?