Shar писал(а):Народ подскажите или скажите где можно про это прочитать, как организовать поиск (можно на данном примере) чтобы поиск велся по полям подчиненной таблицы, а результатом были записи в главной таблице.
вообще-то этот вопрос результат полного не знания что такие ANSI-SQL (T-SQL) и так далее. Т.е. прямой результат отсуствия знаний в области БД (типа как в делфи вас научили выполнять прямолинейные выборки из таблицы…)
- Код: Выделить всё
Select a.* from Tab1 a, Tab2 b where a.id = b.id and <условия>
- вот, напрмер. Можно Join-ами пользвоваться.. эт как кому нравится. Про Оракл ни фига сказать не могу.. но, оно, как я полагаю тут и не рассмативается
Попробуйте очень просто вызвать какой-нибидь из возможный SQL-builder-ов, хотя бы тот, что идёт в MS Office и там вызвав главную и подчинённую таблицы свяжите их реляцией по ключевым полям (кстати я совсем не понял почему тут вспомнили о индексах.. ведь пока что вопросы не задавали о скорости выборки или каким-то иным проблемам связанных с индексированием, а запрос к N-му кол-ву таблик к индексам, по большому счёту, имеет несколько параллельное отношение). Связав табилцы укажите какие поля вам надо выдать, промаркировав их в нужной таблице. На то поле по которому вы укажите условие маркир снемите (если это поле не нужно в результирующем наборе строк). И всё.. даже SQL знать не надо.
Как только убедились, что запрос возвращает верные данные скопируйте полученный SQL и можете его засовывать в вашу программу (делфи тоже его кушает с удовольствием, как я помню).
Да, ессно, нужно чтобы у вас в Бд данные для теста были хоть какие-то.
Про индексы: они нужны и надо знать для чего ими пользоваться и как не напороться на грабли, но они совсем не обязательны для выполнения любого типа запросов. Скажем так: для лабораторных задачь я бы не стал упомянать про какие-то там индексы, иначе оно приведёт к лишним вопросам