Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите составить SQL-запрос 
:(
    Опции темы
sctr
Дата 4.4.2017, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2016

Репутация: нет
Всего: нет



У меня есть 2 таблицы user и child
Таблица user имеет структуру (id, fio, adres)
Таблица child имеет структуру (id, cfio, age, u_id) , где u_id это идентификатор user
Как применить запрос SELECT (обьединить) чтобы привязать детей к родителям и чтобы родители повторялись 1 раз.
Вот например:
Код

1. Иванов. Улица. ФИОребенка1. 2 года
                          ФИОребенка2. 3года
                          ФИОребенка3. 15лет

2. Сидоров. Проспект. ФИОребенка1. 6лет

И при нажатии на строку с ребенком ФИОребенка3 открывался окно редактирования родителя Иванов.
Пользовался Join-ами не смог добиться результата. Родитель повторяется несколько раз.
Данные отображаются в DBGRID
Спасибо 
PM MAIL   Вверх
Akina
Дата 4.4.2017, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



Во-первых, спрашивая совета по запросам, всегда сообщайте, какой используете диалект (или хотя бы сервер БД). А то получите ответ - вроде абсолютно правильный, но на Вашей СУБД в принципе неработоспособный.

Во-вторых, то, что "Родитель повторяется несколько раз" - это абсолютно правильно. Если надо скрыть второй-третий-прочий дубликат, то этой дурью должна маяться клиентская часть, которая отображает данные, а не сервер БД, который их предоставляет. В Вашем случае - та оболочка, которая получает данные от сервера и передаёт их в DBGrid.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
sctr
Дата 4.4.2017, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2016

Репутация: нет
Всего: нет



Дополню вопрос. 
Программу делаю на Delphi7. Изпользую БД MS SQL.
Использую ADOConnect, ADOQuery, DataSource, DBGridEh
Таблицу вывожу в таблице DBGrideh.

PM MAIL   Вверх
Akina
Дата 4.4.2017, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



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

                      ФИОребенка1.  2 года
1. Иванов.  Улица.    ФИОребенка2.  3 года
                      ФИОребенка3. 15 лет
2. Сидоров. Проспект. ФИОребенка1.  6 лет



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.1258 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.