Вторник, 21 Июня 2016 г. 03:43
+ в цитатник
Здравствуйте, уважаемые гуру и знатоки SQL. Столкнулся с нетривиальной задачей для меня. Решить правильно у меня не выходит. В БД находятся две таблицы. Мне необходимо составить запрос, показывающий все перестановки некоторых полей из первой таблицы, используя условия из второй таблицы. Запросы я составил, но "дьявол кроется в деталях", как говорится. Время выполнение этих запросов ... Даже не знаю как и сказать... В общем, виснет у меня Access. Либо вычислительная мощность Access-а не позволяет ему справиться с этими запросами, либо составлены они неправильно. А возможно нужен совершенно другой подход.
Самый "рабочий" вариант у меня, это запрос AllResult (для всех записей второй таблицы) и CertainValueResult (для определённой записи второй таблицы). AllResult я даже протестировать не могу. А для CertainValueResult время выполнения, по моему, в лучшем случае ЧАС! Ведь если все поля будут выбраны, то количество перестановок должно быть около 22 млн!
Когда Вы откроете БД, то поймёте лучше. А пока: во второй таблице (Table - B) хранятся данные логического типа для выбора полей из первой таблицы (Table - A) для генерации перестановок. Если Да - поле участвует в перестановках, если нет - пустое значение.
http://www.sql.ru/forum/1219082/perestanovki-po-usloviu
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-