powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем заменить left join в where ?
6 сообщений из 6, страница 1 из 1
Чем заменить left join в where ?
    #32499088
IgorK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем стандартную связь 1:M, сведения получаем запросом вида
Код: plaintext
1.
select t1.name, t2.name_dict
from t1 left join t2 on t1.id=t2.id

а можно-ли заменить left join на какое-нибудь условие в where? В MSSQL есть *=, в Oracle (+), а здесь как быть?

p.s. Нужно для автоматического формирования запросов пользователем.
...
Рейтинг: 0 / 0
Чем заменить left join в where ?
    #32499135
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем тебе Left join в чистом виде не нравится?
...
Рейтинг: 0 / 0
Чем заменить left join в where ?
    #32499158
IgorK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да мне-то нравится! только не получается автоматом формировать запрос с join
...
Рейтинг: 0 / 0
Чем заменить left join в where ?
    #32499199
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Ну, тогда вот тебе самый большой SQL секрет: ...ой, опять чуть не проболтался!

2. По поводу subj - классики пишут, что надо делать union с такой же выборкой, у которой значение поля связи is null.
...
Рейтинг: 0 / 0
Чем заменить left join в where ?
    #32499450
Redbor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По стандарту
Код: plaintext
1.
2.
select t1.name, t2.name_dict
from t1
    left join t2 on t1.id=t2.id
=
Код: plaintext
1.
2.
3.
select t1.name, t2.name_dict
from t1, t2
where t1.id *= t2.id
...
Рейтинг: 0 / 0
Чем заменить left join в where ?
    #32499453
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*= это отсебятина некоторых производителей СУБД. На IB/FB не канает.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем заменить left join в where ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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