В MS Access, нужно выбрать одну строку с большим количеством данных из разных таблиц с этим запросом:MS Access: Как я могу выбрать столбцы из разных таблиц
select top 1 a.colname,b.colname,c.colname
from tba a, tbb b, tbc c
where a.colname = 'efg' or
b.colname ='efg' or
c.colname ='efg'
я получить данные прекрасно, когда " efg ' соответствует по крайней мере 1 из 3 таблиц, но если он не соответствует ни одному из них, я получу MS Access, замороженный с помощью курсора ожидания. Я догадался, что по какой-то причине это зацикливается. Я могу остановить его с помощью END TASK в диспетчере задач Windows.
Как мой запрос и может ли любой эксперт объяснить или предложить различные методы, чтобы избежать этого?
спасибо.
Насколько велики каждая из трех таблиц? –
avg рекорд около 5000, не так большой. – Jackth
Вы используете не объединенные таблицы, это означает, что если у вас есть 5000 записей в каждой таблице, выбор может возвращать 5000 * 5000 * 5000 = 125 000 000 000 строк, конечно, доступ будет зависать, и даже операционная система может потерпеть крах. Сначала соедините таблицы. –