Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.09.01;
Скачать: [xml.tar.bz2];

Вниз

AND и WHERE в JOIN   Найти похожие ветки 

 
LDV   (2012-12-21 11:05) [0]

Есть 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 WHERE dup_count > 1 ORDER BY name;


Если во 2-м запросе WHERE заменить на AND будет тоже самое?

SELECT name FROM item JOIN memory\temp ON name <> "" AND name = dup_name AND dup_count > 1 ORDER BY name;


 
Ega23 ©   (2012-12-21 11:37) [1]

select name, count(*) as cnt
from item
group by name
having(cnt) > 1


 
LDV   (2012-12-21 11:48) [2]


> Ega23 ©


Вопрос не в том, какой запрос лучше написать, а будут ли различия если заменить WHERE на AND. Просто хочу разобраться.


 
Ega23 ©   (2012-12-21 12:03) [3]


>  а будут ли различия если заменить WHERE на AND

Запусти и посмотри, в чём проблема?


 
знайка   (2012-12-21 12:04) [4]

И так и так плохо.
А вообще зависит и от того какие соединения и какие условия.


 
MsGuns ©   (2012-12-21 13:08) [5]

>Ega23 ©   (21.12.12 11:37) [1]

Алиасы не всегда можно использовать как аргументы.
ИМХО, Надежнее так:

select name, count(*) as cnt
from item
group by name
having count(*) > 1


По сабжу: А просто сравнить результаты не пробовал ?


 
Ega23 ©   (2012-12-21 13:27) [6]


> Алиасы не всегда можно использовать как аргументы.

Пример в студию.


 
Игорь Шевченко ©   (2012-12-21 14:14) [7]


> Пример в студию.


http://www.osmosislatina.com/oracle/part1_3.htm
http://stackoverflow.com/questions/268429/group-by-alias-oracle

лень документацию искать


 
Кщд   (2012-12-21 16:32) [8]

>LDV   (21.12.12 11:48) [2]
в случае с inner join условие можно перенести из where в join
а вообще, в join - условия объединения, а в where - условия фильтрации


 
MsGuns ©   (2012-12-21 16:49) [9]

>Ega23 ©   (21.12.12 13:27) [6]
>Пример в студию.

Акцесс точно, Interbase на 90%, MSSQL до какой-то версии.
Хватит ?


 
Ega23 ©   (2012-12-21 17:27) [10]

Хм... Действительно не канает.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.09.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
15-1364544598
O'ShinW
2013-03-29 12:09
2013.09.01
Как бы сделать в Oraclе DML operation inside a query?


10-1184751280
NoXXX
2007-07-18 13:34
2013.09.01
Array[0..7] Of Byte в Activex компонент, Как передать?


2-1356079437
Женя
2012-12-21 12:43
2013.09.01
Квадратное уравнение


15-1364240820
Дмитрий С
2013-03-25 23:47
2013.09.01
Нет ли в дельфи каких-нибудь волшебных констант?


15-1364589003
Юрий
2013-03-30 00:30
2013.09.01
С днем рождения ! 30 марта 2013 суббота





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский