Форум: "Базы";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Внизпро UNION ... Найти похожие ветки
← →
Andrey V. © (2005-07-11 08:46) [0]запрос :
select t1.name from table1 t1
UNION
select t2.name from table2 t2
работал, пока поля name были одинаковыми по длине.
У одной таблицы изменилась длинна поля name и запрос перестал работать.
Подскажите как в запросе их привести к одной длине ?
← →
evvcom © (2005-07-11 08:50) [1]Возможно, длина поля в результате равна длине поля из первого селекта. Попробуй поменять селекты местами.
← →
Fay © (2005-07-11 08:56) [2]Andrey V. © (11.07.05 8:46)
Ну добей меньшее CAST-ом.
← →
Anatoly Podgoretsky © (2005-07-11 09:07) [3]Тогда возникает вопрос, почему ты пытаешься объединять две разные, не совместимые таблицы
← →
Desdechado © (2005-07-11 11:19) [4]учти, union убивает дубликаты и сортирует
← →
evvcom © (2005-07-11 11:46) [5]
> учти, union убивает дубликаты и сортирует
не знаю как в IB, но по стандарту, чтобы UNION не убивал дубликаты используется дополнительно ALL. А насчет сортировки вообще впервые слышу. Сортировка делается через ORDER BY
← →
Desdechado © (2005-07-11 11:51) [6]2 evvcom
ORDER BY - явная сортировка
без нее UNION (без ALL) сортирует все равно - это побочный эффект при поиске-удалении дубликатов, причем сортирует по всему списку полей в порядке их следвания в SELECT
и вообще, про дубликаты я заикнулся специально - это типичные грабли, на которые наступают почти все
← →
evvcom © (2005-07-11 12:04) [7]
> сортирует все равно - это побочный эффект при поиске-удалении
> дубликатов
а...а... Так это тогда и JOIN тоже "сортирует".
← →
Desdechado © (2005-07-11 19:23) [8][7]
лопаты с граблями не путай
попробуй - увидишь
← →
GanibalLector © (2005-07-11 23:54) [9]Fay правду говорит ;)
Примерно так это выглядит :
select cast(t1.name as varchar(20)) as name from table1 t1
UNION
select cast(t2.name as varchar(20)) as name from table2 t2
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c