Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

SELECT   Найти похожие ветки 

 
Вованчик ©   (2004-01-14 10:37) [0]

Здравствуйте.

Вопрос в следующем: есть несколько таблиц с одинаковыми полями. Можно ли выбрать из всех них неповторяющиеся значения одного поля SELECTом.

Например в 1 таблице Field2 имеет значения 2 и 3.
во 2 таблице Field2 имеет значения 1 и 3.
в 3 таблице Field2 имеет значения 2 и 4.
Нужно чтобы результат выборки был 1, 2, 3, 4.

что нибудь типа
SELECT DISTINCT KOP FROM (SELECT DISTINCT KOP FROM table\SKL0103 UNION ALL SELECT DISTINCT KOP FROM table\SKL0203)

Спасибо


 
Desdechado ©   (2004-01-14 10:41) [1]

SELECT DISTINCT fld1, fld2 FROM fld1
UNION
SELECT DISTINCT fld1, fld2 FROM fld2
UNION
SELECT DISTINCT fld1, fld2 FROM fld3


 
Johnmen ©   (2004-01-14 10:57) [2]

SELECT Field2 FROM Table1
UNION
SELECT Field2 FROM Table2
UNION
SELECT Field2 FROM Table3


 
Desdechado ©   (2004-01-14 15:22) [3]

сорри, конечно же FROM tbl1 и т.д.


 
Johnmen ©   (2004-01-14 15:25) [4]

>Desdechado © (14.01.04 15:22)

Не в этом дело, а в DISTINCT :)


 
Desdechado ©   (2004-01-14 16:01) [5]

а чем distinct не нравится?
в каждом отдельном select"е отсекает повторения, а повторения между select"ами отсекает union


 
Johnmen ©   (2004-01-14 16:06) [6]

Нравится. Но он излишен...


 
Sandman25 ©   (2004-01-14 16:15) [7]

[6] Johnmen © (14.01.04 16:06)

А я, честно говоря, не знаю, что будет быстрее -

select distinct
union all

или

select
union.


 
MV   (2004-01-14 16:21) [8]

Distinct - это типа по умолчанию?


 
Johnmen ©   (2004-01-14 16:25) [9]

>Sandman25 © (14.01.04 16:15)

Почему же all ? По условию - неповторяющиеся...
И, по-моему, без дистинкта быстрее.


 
Sandman25 ©   (2004-01-14 16:29) [10]

[9] Johnmen © (14.01.04 16:25)

С первым согласен. Я нагло предположил, что данные не пересекаются, и хотел ускорить за счет отказа от проверки уникальности.

По второму у меня есть предположение, что если все равно из 15 повторяющихся строк нужно только 5, то легче их найти (а остальное отсечь) сразу, а не после того, как к ним будут добавлены еще 15 записей, из которых на самом деле тоже нужны только 5. Иначе говоря, быстрее получить (5 из 15)+(5 из 15), чем (5 из 30) + (5 из 30)


 
Johnmen ©   (2004-01-14 16:32) [11]

>Sandman25 © (14.01.04 16:29)

Попробую проверить, но на 99% уверен в обратном.



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

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
3-16073
Zamik
2004-01-12 11:02
2004.02.06
Как получить строку пути из Алиаса


1-16298
Grinder
2004-01-24 13:43
2004.02.06
Форма как hint


1-16447
Zheks
2004-01-28 09:44
2004.02.06
try/except


3-16044
rosl
2004-01-13 07:14
2004.02.06
Помогите с запросом SQL


3-16085
Рустем
2004-01-10 10:43
2004.02.06
Проблемы со вставкой пустых значений