Главная страница
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.02 c
1-16237
webpauk
2004-01-26 13:57
2004.02.06
TaskBar


4-16782
mRodion
2003-12-03 17:13
2004.02.06
Есть ли способ передать другому приложению строку string


1-16280
Builder
2004-01-28 16:15
2004.02.06
Работа с файлами


3-16034
ДЕД
2004-01-13 13:10
2004.02.06
Память при вычислениях


1-16492
Islander
2004-01-27 22:17
2004.02.06
Где хранить настройки в 200x/XP?