Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
tony nice
Guest |
Есть 2 запроса, в результате которых выводятся дубликаты в таблице item по полю name:SELECT name dup_name, COUNT(*) AS dup_count INTO memory\temp FROM item GROUP BY name; SELECT name FROM item JOIN memory\temp ON name <> '' AND name = dup_name [b]WHERE[/b] dup_count > 1 ORDER BY name; Если во 2-м запросе WHERE заменить на AND будет тоже самое? SELECT name FROM item JOIN memory\temp ON name <> '' AND name = dup_name [b]AND[/b] dup_count > 1 ORDER BY name; |
21 дек 12, 11:03 [13664502] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
в inner join-ах местоположение предиката не влияет на его роль и не изменяет поведения, в отличие от OUTER join-ов, где указание предиката в кляузе ON делает его (предикат) pre-join/join-предикатом, а расположение в кляузе WHERE делает его post-join/filter-предикатом. |
21 дек 12, 11:08 [13664534] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |