Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.017 c
7-16754
Antonn
2003-11-20 09:31
2004.02.06
COM port


14-16611
Amigo Sv
2004-01-13 07:39
2004.02.06
Как хранить рисунок bmp в базе данных


1-16332
Andrey_Shalin
2004-01-25 05:44
2004.02.06
Потоки


1-16487
Begin
2004-01-27 13:53
2004.02.06
TSringGrid. Сорри за тупой вопрос...


3-16092
Veetyok
2004-01-11 00:54
2004.02.06
Delphi виснет




   Наверх