powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / В SELECT - значения из нескольких строк объеденить в однцу
8 сообщений из 8, страница 1 из 1
В SELECT - значения из нескольких строк объеденить в однцу
    #32015687
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть табица: ИД(PK), Наименование. И подчиненная таблица: ИД(FK), Свойсто. Строим запрос, возвращающий следующее:
Наименование_1 Свойство_1
Наименование_1 Свойство_2
Наименование_1 Свойство_3
Наименование_2 Свойство_1
Наименование_2 Свойство_2
Как можно получить вот такое представление:
Наименование_1 Свойство_1,Свойство_2,Свойство_3
Наименование_2 Свойство_1,Свойство_2
Заранее спасибо. (SQL 7 версии).
...
Рейтинг: 0 / 0
В SELECT - значения из нескольких строк объеденить в однцу
    #32015696
Sanek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаем , что name и property - это integer
Select convert(varchar,T1.name) + ' ' + convert(varchar,T2.propery)
from Table1 T1 (NOLOCK)
join Table2 T2 (NOLOCK) on T1.column = t2.column
where ...
...
Рейтинг: 0 / 0
В SELECT - значения из нескольких строк объеденить в однцу
    #32015701
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поля Наименование и Свойство в таблицах - текстовые. Каждому наименованию из первой таблицы соответствует несколько свойств во второй таблице (количество свойств разное). Мне нужно показать каждое наименование одной строкой, чтобы все свойства попали в единое поле разделенные, например, запятой.
...
Рейтинг: 0 / 0
В SELECT - значения из нескольких строк объеденить в однцу
    #32015703
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. на стороне сервера написать процедуру по советам из статьи
http://www.osp.ru/win2000/sql/2001/02/665.htm

2. написать процедуру на стороне клиента(или использовать встроенные возможности, например, Access)
...
Рейтинг: 0 / 0
В SELECT - значения из нескольких строк объеденить в однцу
    #32015725
am (a_mitin)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
продолжу список от Glory:

3. Денормализовать первую таблицу, добавив поле "Перечень свойств", которое поддерживать на триггерах.
(в случае частых выборок и редких обновлений - самое то (имхо) )

С уважением, Андрей Митин
ICQ:38607432
http://am.rusimport.ru
...
Рейтинг: 0 / 0
В SELECT - значения из нескольких строк объеденить в однцу
    #32015748
kip62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть на мой взгляд лучшее решение.
1. Строим временную таблицу
SELECT ID, [Наименование], convert(varchar(7000), '') as [Свойства]
INTO #tmp
FROM [таблица]

2. Берем свойства:
UPDATE #tmp
SET [Свойства] = obj.[Свойства] + ' ' + prop.[Свойство]
FROM [таблица объектов] as obj
JOIN [таблица свойств] as prop ON obj.ID = prop.ID

3. Читаем:
SELECT [Наименование], [Свойства] FROM #temp
...
Рейтинг: 0 / 0
В SELECT - значения из нескольких строк объеденить в однцу
    #32015754
Владимир Смирнов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый kip62. Предложенное Вами решение неправильно. Даже после исправлений, результат будет не тот, который Вы ожидаете.
...
Рейтинг: 0 / 0
В SELECT - значения из нескольких строк объеденить в однцу
    #32015755
kip62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь за очепятку во втором пункте.

2. Берем свойства:
UPDATE #tmp
SET [Свойства] = obj.[Свойства] + prop.[Свойство] + ', '
FROM #tmp as obj
JOIN [таблица свойств] as prop ON obj.ID = prop.ID
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / В SELECT - значения из нескольких строк объеденить в однцу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]