Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем заменить left join в where ? / 6 сообщений из 6, страница 1 из 1
27.04.2004, 16:19
    #32499088
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заменить left join в where ?
Имеем стандартную связь 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
27.04.2004, 16:38
    #32499135
mv
mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заменить left join в where ?
А чем тебе Left join в чистом виде не нравится?
...
Рейтинг: 0 / 0
27.04.2004, 16:47
    #32499158
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заменить left join в where ?
да мне-то нравится! только не получается автоматом формировать запрос с join
...
Рейтинг: 0 / 0
27.04.2004, 17:04
    #32499199
mv
mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заменить left join в where ?
1. Ну, тогда вот тебе самый большой SQL секрет: ...ой, опять чуть не проболтался!

2. По поводу subj - классики пишут, что надо делать union с такой же выборкой, у которой значение поля связи is null.
...
Рейтинг: 0 / 0
27.04.2004, 20:19
    #32499450
Redbor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заменить left join в where ?
По стандарту
Код: 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
27.04.2004, 20:24
    #32499453
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чем заменить left join в where ?
*= это отсебятина некоторых производителей СУБД. На IB/FB не канает.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем заменить left join в where ? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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