![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SELECT [D7, IB6.x]
Вованчик © (2004-01-14 10:37:00)
Здравствуйте.
Вопрос в следующем: есть несколько таблиц с одинаковыми полями. Можно ли выбрать из всех них неповторяющиеся значения одного поля 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)
Спасибо
Johnmen (2004-01-14 16:32:00) [1]
>Sandman25 © (14.01.04 16:29)
Попробую проверить, но на 99% уверен в обратном.
Sandman25 (2004-01-14 16:29:00) [2]
[9] Johnmen © (14.01.04 16:25)
С первым согласен. Я нагло предположил, что данные не пересекаются, и хотел ускорить за счет отказа от проверки уникальности.
По второму у меня есть предположение, что если все равно из 15 повторяющихся строк нужно только 5, то легче их найти (а остальное отсечь) сразу, а не после того, как к ним будут добавлены еще 15 записей, из которых на самом деле тоже нужны только 5. Иначе говоря, быстрее получить (5 из 15)+(5 из 15), чем (5 из 30) + (5 из 30)
Johnmen (2004-01-14 16:25:00) [3]
>Sandman25 © (14.01.04 16:15)
Почему же all ? По условию - неповторяющиеся...
И, по-моему, без дистинкта быстрее.
MV (2004-01-14 16:21:00) [4]
Distinct - это типа по умолчанию?
Sandman25 (2004-01-14 16:15:00) [5]
[6] Johnmen © (14.01.04 16:06)
А я, честно говоря, не знаю, что будет быстрее -
select distinct
union all
или
select
union.
Johnmen (2004-01-14 16:06:00) [6]
Нравится. Но он излишен...
Desdechado (2004-01-14 16:01:00) [7]
а чем distinct не нравится?
в каждом отдельном select"е отсекает повторения, а повторения между select"ами отсекает union
Johnmen (2004-01-14 15:25:00) [8]
>Desdechado © (14.01.04 15:22)
Не в этом дело, а в DISTINCT :)
Desdechado (2004-01-14 15:22:00) [9]
сорри, конечно же FROM tbl1 и т.д.
Johnmen (2004-01-14 10:57:00) [10]
SELECT Field2 FROM Table1
UNION
SELECT Field2 FROM Table2
UNION
SELECT Field2 FROM Table3
Desdechado (2004-01-14 10:41:00) [11]
SELECT DISTINCT fld1, fld2 FROM fld1
UNION
SELECT DISTINCT fld1, fld2 FROM fld2
UNION
SELECT DISTINCT fld1, fld2 FROM fld3