У меня есть SQL (Transact SQL - SQL сервер 2012), который используется для извлечения имен пользователей из таблицы (Заказчик), который имеет действительные адреса (из таблицы детали):добавляющих данные в T-SQL
Select Customer.Name, Details.Address
from Customer
left outer join Details on Details.Customer = Customer.Name
Используется для отправки каждой строки записи (имени) каждому клиенту каждый раз с сервера db. Нет нескольких записей.
Недавно мне нужно было изменить этот текст sql, чтобы получить даже имя книг, которые они заимствовали в соответствии с базой данных, которая сохраняется в другой таблице (кредитование). Теперь сценарий выглядит так:
Select Customer.Name, Details.Address, Lending.BookName
from Customer
left outer join Details on Details.Customer = Customer.Name
left outer join Lending on Lending.CustomerName = Customer.Name
Он возвращает записи должным образом, но теперь у меня есть проблема. Поскольку клиент может брать несколько книг, возвращаемые данные имеют несколько строк для одного и того же клиента, отображающих несколько имен книг. Согласно моей спецификации программного обеспечения мне нужно получить одну строку для каждого клиента, и в этой строке мне нужно добавить все имена книг в одном столбце. Может кто-то помочь мне с этим: Как добавить несколько данных для одной записи в одном столбце, таких как:
Name Address BookName
Somdip XX Brief History of Time,Headfirst SQL,Headfirst C#
вместо
Name Address BookName
Somdip XX Brief History of Time
Somdip XX Headfirst SQL
Somdip XX Headfirst C#
??
проверить этот "моделирование" из GROUP_CONCAT: http://stackoverflow.com/questions/17591490/how-to-make-a-query-with-group-concat-in-sql-server –