@yura_born

Как объеденить значения из строк в Access?

Доброго дня!
У меня 2 таблицы Users и tblip (и еще парочку службы и подразделения). В таблице Users - информация о пользователях. В таблице tblip - информация об ip-адресах этих пользователей. К каждому юзеру может быть привязано несколько ip-адресов. Как мне написать запрос чтобы выводилась информация о юзере и его ip-адресах.
Например:
Иванов | 192.168.0.1, 192.168.0.2
Петров | 10.789.0.34, 192.168.0.4
и т.д.

Написал вот такой запрос:
SELECT users.fam, tblip.ip
FROM slushba INNER JOIN (podrazd INNER JOIN (users INNER JOIN tblip ON users.id = tblip.idusers) ON podrazd.id = users.podrazd) ON slushba.id = users.sluzhba;


И у меня выводится:
Иванов | 192.168.0.1
Иванов | 192.168.0.2
Петров | 10.789.0.34
Петров | 192.168.0.4

Заранее благодарю.
  • Вопрос задан
  • 291 просмотр
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
1. Транслит и сокращения в именах таблиц и колонок - фу таким быть.
2. В нормальной СУБД ты бы мог сделать group by users.fam (например) и сделать SELECT users.fam, Group_Concat(tblip.ip)
3. Но MS Access - это ненормальная субд и в ней нет аналога такой функции. => То что тебе нужно можно сделать только через VBA при помощи циклов.
Благо эта проблема уже решённая:
https://stackoverflow.com/questions/2852892/is-the...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы