Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.029 c