Можете ли вы объяснить связь между таблицами?Как правило, этот запрос нельзя переписать, чтобы он использовал таблицу B2
только один раз.Но во многих случаях это можно переписать, если мы можем сделать некоторые предположения относительно данных.
Если каждая строка в A1
отображается на одну строку в B2
для каждой константы, вы можете сделать что-то вроде
select a1.col1,
a1.col2
from a1
inner join b2 b21
on ( a1.col1 = b21.col1
and b21.col5 IN( 'some constant', 'some other constant'))
Но если A1
отображается на 2 строки в B2
с COL5
«некоторой константой» и 3 рядами в B2
с COL5
«некоторой другой константой»исходный запрос будет возвращать 6 одинаковых строк, где этот запрос будет возвращать только 5 одинаковых строк.