![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FROM .... JOIN .... = не догоняю [IB6.x, FB]
_Ламер_ © (2006-11-11 23:13:00)Народ, здаров.
Не могу понять, какие таблицы надо писать до Join и после него. Если писать Left Join, то в одном случае он возвращает не нужные записи из таблицы слева, в другом (если поменять таблицы местами) - добавляет пустую запись.
Остановился на Right Join:
SELECT ST.ID, ST.Name FROM Systems_Tree ST Join Equipments E ON (ST.ID=Sys_Group_ID) and (Sys_Group_ID > 0)
E.Sys_Group_ID - ссылается на поле ST.ID справочной таблицы ST. Проблема в чём - запрос возвращает столько одинаковыхзаписей, сколько содержится ссылок в Sys_Group_ID. Можно ли сократить кол-во одинаковыхзаписей до одной без применения Group By? При этом, как я понял, Sys_Group_ID=ST.ID или ST.ID=Sys_Group_ID в условии отбора роли не играет.
Kolan (2006-11-12 18:56:00) [1]> [7] Johnmen © (12.11.06 18:41)
> По указанной ссылке я не вижу ничего, напоминающего
>
> > а написано, что Right - по умолчанию.
Это ссылка для аффтора, чтобы он понял что и как делает JOIN
Johnmen (2006-11-12 18:41:00) [2]По указанной ссылке я не вижу ничего, напоминающего
> а написано, что Right - по умолчанию.
Kolan (2006-11-12 18:09:00) [3]http://www.sql-ex.ru/help/
Тут шлянь JOIN
Johnmen (2006-11-12 15:26:00) [4]
> а написано, что Right - по умолчанию. Вот так вот и читай
> буквари.
Это где так написано?
_Ламер_ (2006-11-12 00:29:00) [5]А, ну то есть без Group by не обойтись. А Where из Left/Right Join делает просто Join. Чёрт, а написано, что Right - по умолчанию. Вот так вот и читай буквари.
_Ламер_ (2006-11-12 00:09:00) [6]А почему?
Johnmen (2006-11-11 23:40:00) [7]Надо открыть букварь по SQL. Там всё написано.
Anatoly Podgoretsky (2006-11-11 23:17:00) [8]> _Ламер_ (11.11.2006 23:13:00) [0]
Не может этого быть для LEFT JOIN