Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Динамическая фильтрация по полям из разных таблиц. Как?
|
|||
|---|---|---|---|
|
#18+
Привет. Есть две таблицы: Места реализации товара и Группы товара. Есть третья таблица - сам Товар. Нужно отфильтровать базу Товар, основываясь на выбранных в данный момент Месте и Группе товара. Т.е. я должен вывести на экран какой Товар из выбранной Группы сейчас находится на выбранном Месте. Сделал так: создал ключевое поле I1 в таблице Место. Ключевое поле I2 в таблице Группа. А в таблицу Товар добавил оба этих поля, чтобы по ним и фильтровать. Дальше делаю явно не то. Пишу на BC++. Знаю как фильтровать по строке из одной таблицы: SELECT * FROM TOVAR WHERE I1=:I1; Это если QueryTovar, исполняющий эту строку, привязан через DataSource к QueryMesto. Всё срабатывает автоматом. А как фильтровать по полям из разных таблиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 19:03 |
|
||
|
Динамическая фильтрация по полям из разных таблиц. Как?
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял вопрос, то нужен запрос типа Код: plaintext Что за зверь BC++ - не знаю, но, наверное, там есть sprintf или что-то подобное для составления такой строки? Для общего развития рекомендую или книжку по SQL, или MS Access - там есть встроенный дизайнер запросов и справка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 19:53 |
|
||
|
Динамическая фильтрация по полям из разных таблиц. Как?
|
|||
|---|---|---|---|
|
#18+
ябы не сешивал тут SQL и BC++(), равно как не сталбы привязывать жестко товары к месту, но раз условия таковы, то нужно обрабатывать ondatachange у ds_groups и этоже событие ds_mesto. В обоих событиях вызываешь процедурку котороая формирует запрос вида Код: plaintext 1. 2. 3. 4. 5. 6. 7. но схема ущербна ибо "Товар" "Группа" "Место" ето есть справочники, и их должно связывать чтото гибкое... (торар с руппой связать можно и нужно и сделано верно) но что будет если он поменяет "место" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 19:56 |
|
||
|
Динамическая фильтрация по полям из разных таблиц. Как?
|
|||
|---|---|---|---|
|
#18+
:) Я имел в виду именно это - я же не знал, что в BC++ возможна конкатенация строк без геморроя, вот и посоветовал sprintf для составления строки запроса (на лету) - а мысль та же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 19:58 |
|
||
|
Динамическая фильтрация по полям из разных таблиц. Как?
|
|||
|---|---|---|---|
|
#18+
2Andres 1 в БС++ там даже querybuilder есть :) но схему ябы переделал, и тему бы енту отсюда перенес... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 19:59 |
|
||
|
Динамическая фильтрация по полям из разных таблиц. Как?
|
|||
|---|---|---|---|
|
#18+
p.s да енто ваще делфийский код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2005, 20:00 |
|
||
|
Динамическая фильтрация по полям из разных таблиц. Как?
|
|||
|---|---|---|---|
|
#18+
rgarifно схема ущербна ибо "Товар" "Группа" "Место" ето есть справочники, и их должно связывать чтото гибкое... В известном мне компоненте фильтра применялись две реализации (на выбор, в зависимости от настроек). В более простом случае в where добавлялось " ... and exists (select from dictionary where filter = :filter and master_id = :master_id )". В более сложном - справочник, по которому идет фильтрация, добавлялся во from, ну и соответственно дописывался where. Это принцип, ну а с эффективностью надо смотреть по месту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2005, 11:09 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33003653&tid=1545948]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 444ms |

| 0 / 0 |
