Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/40: Рейтинг темы: голосов - 40, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 37
1

Создание запроса с выведением данных в одну строку через запятую

04.04.2011, 23:26. Показов 8078. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
Вот у меня, как у "чайника" в создании баз данных, возник еще один вопрос.
Мне нужно создать такой запрос:
Есть таблица - Население и Диспансерные. Они связаны через поле Код, имеющееся у обеих таблиц. В таблице "Диспансерные" есть поле "Диагноз", которое имеет разные значения для одного и того же значения поля Код.
Проще говоря, есть пациенты, у них разные диагнозы, в связи с которыми их я взял на диспансерный учет. Каждый диагноз у меня оформлен отдельной строкой:

Код фамилия имя отчество диагноз
1 Иванов Иван Иванович ГБ
1 Иванов Иван Иванович ИБС
2 Петров Петр Петрович ГБ
3 Сидоров Сидор Сидорович ХПН
3 Сидоров Сидор Сидорович ГБ

И вот мне нужно, чтобы не отдельными строками выводились данные с диагнозом, а в одной строке через запятую, т.е. так:

Код фамилия имя отчество диагноз
1 Иванов Иван Иванович ГБ, ИБС
2 Петров Петр Петрович ГБ
3 Сидоров Сидор Сидорович ХПН, ГБ


Или см. вложение "запрос".

Вопрос - как енто все сделать???? Помогите, кто чем может
Вложения
Тип файла: xls запрос.xls (28.0 Кб, 75 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2011, 23:26
Ответы с готовыми решениями:

Вывод данных из нескольких строк таблицы в одну строку через разделитель (пробел, запятую)
Добрый день! Есть табличка с адресами: addr ul1 ul2 dom вул. 1...

Сгруппировать строки, а разные значения в столбце записать в одну строку через запятую
Как сделать? :sorry:Все значения по полям совпадают кроме значений в двух (в дальнейшем будет 4...

Совмещение значений нескольких строк в одну через запятую
Уважаемые знатоки Access, Помогите, пожалуйста, решить вставшую передо мной проблему. Знаю, что...

Несколько строк адресов в одну ячейку через запятую
Добрый день. Есть файл: 1 столбец - код объекта, 2 столбец - эл. адрес сотрудника. В каждой ячейке...

14
453 / 215 / 5
Регистрация: 16.05.2010
Сообщений: 420
05.04.2011, 14:41 2
Это форум по Access.
0
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 37
05.04.2011, 21:20  [ТС] 3
Я знаю Ехеl я задействовал лишь для того, чтобы показать что у меня в Access есть, и то, что нужно сделать.
0
453 / 215 / 5
Регистрация: 16.05.2010
Сообщений: 420
05.04.2011, 22:26 4
Так можно и в Аксе. Или ктото должен еще пример написать ?
0
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 37
05.04.2011, 22:30  [ТС] 5
Да тут разницы нет. Ведь, суть то я уже изложил
Ну можно еще раз:
Код фамилия имя отчество диагноз
1 Иванов Иван Иванович ГБ
1 Иванов Иван Иванович ИБС
2 Петров Петр Петрович ГБ
3 Сидоров Сидор Сидорович ХПН
3 Сидоров Сидор Сидорович ГБ
А нужно вот так:
Код фамилия имя отчество диагноз
1 Иванов Иван Иванович ГБ, ИБС
2 Петров Петр Петрович ГБ
3 Сидоров Сидор Сидорович ХПН, ГБ
Т.е. все через запятую.
0
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
07.04.2011, 14:30 6
фельдшерАнтоний, у Вас какой офис?-в 2007 можно в одном поле хранить перечисление значений
0
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 37
08.04.2011, 17:06  [ТС] 7
У меня офис 2003 года
0
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
09.04.2011, 04:19 8
фельдшерАнтоний, тебе согласны помочь составить нужную функцию, все что нужно - экспортировать таблицу в файл access и выложить эту болванку здесь
0
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 37
10.04.2011, 00:30  [ТС] 9
Хорошо. Смотрите вложения - образец БД. Там таблица - диспансерные.
Вложения
Тип файла: rar образец БД.rar (84.4 Кб, 137 просмотров)
0
453 / 215 / 5
Регистрация: 16.05.2010
Сообщений: 420
10.04.2011, 09:13 10
Цитата Сообщение от фельдшерАнтоний Посмотреть сообщение
Хорошо. Смотрите вложения - образец БД.
Спасибо. Ощасливили. Держите.
Вложения
Тип файла: rar образец БД.rar (84.4 Кб, 233 просмотров)
2
6 / 6 / 0
Регистрация: 30.08.2010
Сообщений: 32
10.04.2011, 10:43 11
Может сделать так?
Вложения
Тип файла: rar образец БДТест.rar (85.1 Кб, 191 просмотров)
1
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 37
10.04.2011, 13:33  [ТС] 12
Цитата Сообщение от HOUSE MD Посмотреть сообщение
Спасибо. Ощасливили. Держите.
Спасибо! Но у меня была иная просьба. Не просто связать все в одно поле. А связать только диагнозы, причем так, чтобы на одного и того же человека не две строки и более выдавало, а одна, но с диагнозами через запятую. В таблице изначальной все изложено разными строками. Т.е. на одного и того же человека есть несколько строк с диагнозами. Мне нужно эти строки превратить в одну строку с помощью запроса, чтобы диагнозы разных строк шли через запятую. Если что-то не понятно, пишите

Добавлено через 1 минуту
Цитата Сообщение от Igor Tarabokio Посмотреть сообщение
Может сделать так?
Да! Похоже, что именно так

Добавлено через 11 минут
Цитата Сообщение от Igor Tarabokio Посмотреть сообщение
Может сделать так?
Все бы хорошо, но там в запросе, что Вы создали, отбираются только первые и последние значения диагнозов, упуская те диагнозы, что между ними. Как бы сделать, чтобы все диагнозы (независимо от их количества) через запятую были в одном поле?
0
453 / 215 / 5
Регистрация: 16.05.2010
Сообщений: 420
10.04.2011, 14:37 13
Похоже, функцию нужно писать. Из запроса с нумерацией строк получить количество диагнозов у пациента. Потом циклом сформировать строку.
PS. А зачем такие сложности ? Не проще ли вывести диагнозы в список ?
0
6 / 6 / 0
Регистрация: 30.08.2010
Сообщений: 32
10.04.2011, 19:28 14
Все бы хорошо, но там в запросе, что Вы создали, отбираются только первые и последние значения диагнозов, упуская те диагнозы, что между ними. Как бы сделать, чтобы все диагнозы (независимо от их количества) через запятую были в одном поле?[/QUOTE]

Зачит надо начать с создания таблицы Диагнозов
0
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
11.04.2011, 20:09 15
вот, было перечисление через запятую https://www.cyberforum.ru/ms-a... post877733
0
11.04.2011, 20:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2011, 20:09
Помогаю со студенческими работами здесь

Города через запятую в одном поле запроса
Народ, помогите плз со следующей задачкой. Есть таблица, в ней 2 столбца: Название компаний и...

Как объединить данные из нескольких строк в одну, через запятую?
В MS SQL можно с помощью GROUP_CONCAT. Но как объединить данные из нескольких строк в одну, через...

Совмещение значений нескольких строк в одну через запятую - MS Access
Уважаемые знатоки Access, Помогите, пожалуйста, решить вставшую передо мной проблему. Знаю, что...

Данные разных полей запроса с одно поле через запятую?
Задача. Есть запрос, в котором в отдельных полях хранится Фамилия, Имя, Отчество, и Адрес, телефон...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru