Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2014, 16:55   #1
5cek
Форумчанин
 
Регистрация: 04.07.2013
Сообщений: 118
Вопрос SQL нужна помощь

Вообщем голова уже болит, не могу допетрить как это сделать, попробую объяснить доходчиво.
Есть две таблицы обе справочники, следующей структуры
1 таблица Category:
id | name
1 | субдсидия
2 | родительская плата
....
2 таблица Flags:
id | name
4 | П - присутствие
5 | О - Отсутствие
....
так же к ним существует таблица соответствий, где для каждой из категорий существует свой набор отметок, вид у неё следующий:
id|ID_Category|ID_Flag
1| 1 | 4
2| 1 | 5
3| 2 | 4
4| 2 | 5

И наконец последняя таблица, основная, в которой находиться все заполнения которые производили пользователи, выглядит она так:
id|Id_Category|Id_Flag
1| 1 | 4
2| 1 | 5
....
Так вот, в гриде сделал lookup поля, всё круто, они выбирают значения из первых двух справочников, но как бы мне надо что бы они не выводили весь справочник, а выбирали только отметки которые существуют для данной категории. Надеюсь объяснил понятно.
5cek вне форума Ответить с цитированием
Старый 31.01.2014, 17:36   #2
5cek
Форумчанин
 
Регистрация: 04.07.2013
Сообщений: 118
По умолчанию

Вопрос решён. В качестве датасета к lookup полю привязал query, перед раскрытием lookup делаю двойной запрос на выборку из таблицы соответствия, работает как часы. Видимо пора сходить отдохнуть.)
5cek вне форума Ответить с цитированием
Старый 31.01.2014, 17:42   #3
5cek
Форумчанин
 
Регистрация: 04.07.2013
Сообщений: 118
По умолчанию

Нашел загвоздку, не совсем так работает, т.е. если у одной категории я выбрал отметку 1 и начинаю выбирать отметку у второй категории, у которой нет отметки 1, то после отбора в query пропадает предыдущая отметка, как быть?
5cek вне форума Ответить с цитированием
Старый 31.01.2014, 19:47   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от 5cek Посмотреть сообщение
Нашел загвоздку, не совсем так работает, т.е. если у одной категории я выбрал отметку 1 и начинаю выбирать отметку у второй категории, у которой нет отметки 1, то после отбора в query пропадает предыдущая отметка, как быть?
Опишите проблему подробнее. Какой запрос в SQL у query? Как связаны между собой компоненты?
Streletz вне форума Ответить с цитированием
Старый 01.02.2014, 11:14   #5
5cek
Форумчанин
 
Регистрация: 04.07.2013
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Опишите проблему подробнее. Какой запрос в SQL у query? Как связаны между собой компоненты?
Решил проблему дописав у lookup в OnSetText полную выборку справочника.
5cek вне форума Ответить с цитированием
Старый 01.02.2014, 11:26   #6
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

При каскадой фильтрации не стыдно и два набора данных держать -- один для просмотра, а другой для редактирования.
Vapaamies вне форума Ответить с цитированием
Старый 01.02.2014, 11:33   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
таблица соответствий
последняя таблица
а зачем 2 одинаковые таблицы?
eval вне форума Ответить с цитированием
Старый 03.02.2014, 07:33   #8
5cek
Форумчанин
 
Регистрация: 04.07.2013
Сообщений: 118
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
а зачем 2 одинаковые таблицы?
они не одинаковые, я в качества примера привел только те колонки, которые были необходимы для решения вопроса.)
5cek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с SQL запросом DelphiQuestions БД в Delphi 3 22.12.2009 21:17
Нужна помощь с SQL запросом! yoolla SQL, базы данных 9 31.07.2009 23:54
Нужна помощь с SQL MaskEdit БД в Delphi 8 13.01.2009 17:00
Нужна помощь с SQL запросом Worms БД в Delphi 3 14.03.2008 12:43