У меня есть строки в базе данных контактных данных, которые выглядят так:
contactID - bioID - AddressLine1 - City
393 1 1 nowhere st toronto
3921 1 2 somewhere st vancouver
3231 2 1 anywhere rd barrie
1122 2 2 overthere st halifax
В настоящее время я внутренне присоединяю это к био-таблице со столбцами firstname, lastname
и т. Д., И результаты выглядят так:
bioid firstname lastname addressline1 city
1 some guy 1 nowhere st toronto
1 some guy 2 somewhere st vancouver
2 that girl 1 anywhere rd barrie
2 that girl 2 overthere st halifax
Итак, я получаю по 2 строки для каждой биографии.Есть ли в любом случае, я могу выбрать все это как один ряд, как это:
bioid firstname lastname addressline1x1 cityx1 addressline1x2 cityx2
1 some guy 1 nowhere st toronto 2 somewhere st vancouver
2 that girl 1 anywhere rd barrie 2 overthere st halifax
Любая помощь приветствуется.
Спасибо, Томас
РЕДАКТИРОВАТЬ:
Большое спасибо Денису и Джастину, я смог решить эту проблему.Однако теперь у меня есть другой.
Я бы хотел на самом деле выбрать адреса как 1 поле, например:
bioid firstname lastname primary address secondary address
1 some guy 1 nowhere st, toronto 2 somewhere st, vanvouver
2 that girl 1 anywhere rd, barrie 2 overthere st, halifax
Я знаю, что могу сделать это путем объединения столбцов, таких как:
cd1.addressline1 + ', ' cd1.city AS 'Primary Address'
Однаконекоторые поля в записях пусты, например, если нет вторичного адреса - так как я могу сделать так, чтобы вторичный адрес не выводил ','?Поля представляют собой пустые строки, а не значения NULL.
Еще раз спасибо!
РЕДАКТИРОВАТЬ: у меня это работает, используя:
STUFF(COALESCE(', ' + NULLIF(C1.[AddressLine1], ''), '') +
COALESCE(', ' + NULLIF(C1.[AddressLine2], ''), '') +
COALESCE(', ' + NULLIF(C1.[City], ''), '') +
COALESCE(', ' + NULLIF(C1.[State], ''), '') +
COALESCE(', ' + NULLIF(C1.[Country], ''), '') +
COALESCE(', ' + NULLIF(C1.[ZipCode], ''), ''),1, 1, '') AS 'Primary Address'