Форум: "Базы";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизFROM .... JOIN .... = не догоняю Найти похожие ветки
← →
_Ламер_ (2006-11-11 23:13) [0]Народ, здаров.
Не могу понять, какие таблицы надо писать до 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 в условии отбора роли не играет.
← →
Anatoly Podgoretsky © (2006-11-11 23:17) [1]> _Ламер_ (11.11.2006 23:13:00) [0]
Не может этого быть для LEFT JOIN
← →
Johnmen © (2006-11-11 23:40) [2]Надо открыть букварь по SQL. Там всё написано.
← →
_Ламер_ (2006-11-12 00:09) [3]А почему?
← →
_Ламер_ (2006-11-12 00:29) [4]А, ну то есть без Group by не обойтись. А Where из Left/Right Join делает просто Join. Чёрт, а написано, что Right - по умолчанию. Вот так вот и читай буквари.
← →
Johnmen © (2006-11-12 15:26) [5]
> а написано, что Right - по умолчанию. Вот так вот и читай
> буквари.
Это где так написано?
← →
Kolan © (2006-11-12 18:09) [6]http://www.sql-ex.ru/help/
Тут шлянь JOIN
← →
Johnmen © (2006-11-12 18:41) [7]По указанной ссылке я не вижу ничего, напоминающего
> а написано, что Right - по умолчанию.
← →
Kolan © (2006-11-12 18:56) [8]> [7] Johnmen © (12.11.06 18:41)
> По указанной ссылке я не вижу ничего, напоминающего
>
> > а написано, что Right - по умолчанию.
Это ссылка для аффтора, чтобы он понял что и как делает JOIN
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.064 c