57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
||||||
1 | ||||||
Аналог функции GROUP_CONCAT в MS SQL Server22.08.2010, 18:49. Показов 52522. Ответов 11
Метки нет (Все метки)
доброго времени суток!вот какой вопросик имеется:
есть таблица, поля фамилия, город name | city ------------------- Фролов |Москва Иванов |Саратов Сергеев|Пенза Гришин |Саратов -------------------- Андреев|Москва есть надобность с помощью запроса получить из неё данные такого вида: name | city --------------------------- Москва | Андреев Фролов Саратов | Гришин Иванов для случая MySql мне тут подсказали, что существует мегаполезная на самом деле функция GROUP_CONCAT, которая делает как раз то, что мне нужно:
0
|
22.08.2010, 18:49 | |
Ответы с готовыми решениями:
11
Аналог SQL Server Management Studio [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection SQL GROUP_CONCAT убрать значения которые повторяются Аналог функции to_date из oracle sql |
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,269
|
|||||||||||
23.08.2010, 10:00 | 2 | ||||||||||
Version>=90
Простой вариант:
2
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|
23.08.2010, 19:13 [ТС] | 3 |
iap, спасибо большое за ответ! но только вот забыл сказать - у меня 8.0- 2000 й сервер- и никак не перейти выше..в нём как то можно?
0
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
||||||
23.08.2010, 21:35 | 4 | |||||
Можно вот так, с помошью курсора по городам:
1
|
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,269
|
|
23.08.2010, 21:44 | 5 |
1
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
||||||
24.08.2010, 20:16 [ТС] | 6 | |||||
new_in_net , iap спасибо за ответы приду сегодня на комп, где база, попробую
Добавлено через 13 часов 7 минут iap, код для sql 2000 отлично работает на тестовой базе, спасибо,но я не имею полномочий на создание функций и процедур.... new_in_net, пробовал Ваш код,выдаёт такую ошибку в строке
может я что то не так сделал?
0
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
||||||
24.08.2010, 23:47 | 7 | |||||
Неее я недосмотрел... поправь на:
1
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
||||||
25.08.2010, 20:23 [ТС] | 8 | |||||
new_in_net, исправил, как Вы сказали, в результате выводятся таблица с полями City, People, в City - города(уникальные, без повторений), а в People пусто почему то...не могу понять никак, вроде разобрал как код работает, а в People пусто..
использую такой код
0
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
||||||||||||||||
25.08.2010, 23:11 | 9 | |||||||||||||||
Если этот стайтмент возвращает города и людей:
следующие данные, а именно - уникальный список городов и контактов по этим городам, через запятую
Если MS SQL 2005 не поддерживает VARCHAR(MAX) - замени VARCHAR(на побольше)
1
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
||||||
26.08.2010, 21:21 [ТС] | 10 | |||||
new_in_net , спасибо большое!
но знаете что самое интересное: на одной машине этот код выдаёт по прежнему пустую колонку People как не странно(эта машина в сети, но я выполнял на локале всё,+ на ней работает через функцию, которую iap по ссылке предложил ) а на другой машине, не подсоединённой к сети всё прекрасно работает никак не пойму только вот, что такого может быть, что на одном компе не работает, а на другом работает СУБД вообще с одного дистрибутива ставил, антивирусы одинаковые.. Как по Вашему, что энта может быть?? Кстати этот код
0
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
|
26.08.2010, 21:35 | 11 |
Замените везде CHAR(XX) на VARCHAR(ХХ), и увеличьте длину в поле-приемщика многих значений.
В противном случае CHAR(60) - это 60 пробелов, а не пустая строка как в случае VARCHAR(любой длины) и сколько не прибавляй к 60 пробелам - первые 60 символов так и останутся пробелами А две машины могут отличатся по настройкам как интерпретировть: если по настройке CHAR = VARCHAR, то будет работать, нет - выдаст пустую строку
1
|
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
|
|
26.08.2010, 22:32 [ТС] | 12 |
0
|
26.08.2010, 22:32 | |
26.08.2010, 22:32 | |
Помогаю со студенческими работами здесь
12
Аналог SQL функции TOP в Access 2003 Как настроить MS SQL Server, чтобы через Access, можно было редактировать таблицы MS SQL Server? Как можно осуществить репликацию между офисной БД (MS SQL Server) и БД в Интернете (MS SQL Server) ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |