powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Фильтрация первой таблицы до итоговой таблицы
6 сообщений из 6, страница 1 из 1
Фильтрация первой таблицы до итоговой таблицы
    #39969290
Bereteli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, такой вопрос.
Использую несколько таблиц 1с в связке через Inner join и left join. Использую для фильтрации подключаемых таблиц такую структура:
select
*
from table1
Inner join table2 on table2.column1 = table1.column1 and table2.column1 = "a"

Вопрос, как можно отфильтровать первую входящую таблицу по такому же принципу. Я понимаю, что в конце запроса можно написать WHERE, но этот фильтр уже поставится на итоговую таблицу, а у меня таких таблиц штук 10, и именно от первой зависит объем информации
...
Рейтинг: 0 / 0
Фильтрация первой таблицы до итоговой таблицы
    #39969291
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BereteliЯ понимаю, что в конце запроса можно написать WHERE, но этот фильтр уже поставится на итоговую таблицу, а у меня таких таблиц штук 10, и именно от первой зависит объем информацииВы это увидели в плане выполнения или просто фантазируете?
...
Рейтинг: 0 / 0
Фильтрация первой таблицы до итоговой таблицы
    #39969295
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bereteli
но этот фильтр уже поставится на итоговую таблицу, а у меня таких таблиц штук 10


не считай оптимизатор глупее себя
что и в какой последовательности будет "фильтроваться" видно в плане запроса

нуу, а если "буквально" отвечать на твой вопрос, то так

Код: sql
1.
2.
3.
4.
select
*
from (select * from table1 where ...) as t1
Inner join table2 on table2.column1 = t1.column1 and table2.column1 = "a"
...
Рейтинг: 0 / 0
Фильтрация первой таблицы до итоговой таблицы
    #39969296
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bereteli
Вопрос, как можно отфильтровать первую входящую таблицу по такому же принципу. Я понимаю, что в конце запроса можно написать WHERE, но этот фильтр уже поставится на итоговую таблицу, а у меня таких таблиц штук 10, и именно от первой зависит объем информации


То, что where идет после from, совсем не значит, что физически эти операции будут выполнятся в том же порядке.

"Перенос" фильтра в on так же не гарантируется последовательность применения этих фильтров.
...
Рейтинг: 0 / 0
Фильтрация первой таблицы до итоговой таблицы
    #39969299
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
Bereteli
Вопрос, как можно отфильтровать первую входящую таблицу по такому же принципу. Я понимаю, что в конце запроса можно написать WHERE, но этот фильтр уже поставится на итоговую таблицу, а у меня таких таблиц штук 10, и именно от первой зависит объем информации


То, что where идет после from, совсем не значит, что физически эти операции будут выполнятся в том же порядке.

"Перенос" фильтра в on так же не гарантируется последовательность применения этих фильтров.


Есть единственный способ гарантированно изменить последовательность -- занести результаты первого подзапроса во временную таблицу и уже к ней цеплять остальное.

Впрочем, это делается если вы уверены, что такая последовательность правилоная.
...
Рейтинг: 0 / 0
Фильтрация первой таблицы до итоговой таблицы
    #39969327
Bereteli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.
Вариант select'a после from я знаю, просто думал,может можно это как-то по короче сделать, как в том же иннере. Спасибо всем за ответы
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Фильтрация первой таблицы до итоговой таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]