Хорошо, сейчас постараюсь раскрыть более подробно.
Возьмем такую базу:
5 таблиц, 4 связи.
Теперь о программе..пользваотель запустил программу, выбрал нужные ему поля из разных таблиц и получил форма для просмотра данных.
Допустим пользователь выбрал следующие поля:
AUTO.REG_NOMER, AUTO.ID_COLOUR, COLOUR.COLOUR, VLAD.FAM, VLAD.NAME
Дальше в программе анализирую с одной или с несколькими таблицами работает пользователь, после начинаю формировать sql-запрос.
Из системной таблице беру информацию о том как связаны между собой таблицы..вот её фрагмент:
Дальше начинаю формировать sql-запрос. В данной ситуации получается следующий:
SELECT AUTO.REG_NOMER, AUTO.ID_COLOUR, COLOUR.COLOUR, VLAD.FAM, VLAD.NAME FROM COLOUR INNER JOIN AUTO ON COLOUR.ID_COLOUR=AUTO.ID_COLOUR INNER JOIN VLAD ON VLAD.ID_VLAD=AUTO.ID_VLAD
+ еще сортировку добавляю, но сейчас ее опустим, с ней все просто..
Теперь проблема. Проблема у меня со второй частью запроса, то есть то, что идет после FROM. Конечно в ряде случаев она генерируется удачно, но не во всех. Поэтому хочу спросить следующее:
Есть ли какие-то строгие правила формирования таких запросов..ну что первым указывать, а что вторым?
Может где-то можно найти примерный алгорит решения это задачи? может кто встречал?
По поводу диалекта SQL не знаю что сказать. Я с ним работаю впервые и пока тяжело воспринимаю. Хочется начать с нуля..с простых вещей, все расмотреть, разобрать, но сейчас поджимает время и мою программу надо привести в рабочий вид, поэтому обращаюсь к вам.