Вниз
Скачать: CL | DM;

про 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 вся ветка

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



Память: 0.46 MB
Время: -0.967 c
3-1121248213
linesoft
2005-07-13 13:50
2005.08.21
Отладчик процедур MS SQL


4-1120426642
alex-drob
2005-07-04 01:37
2005.08.21
Блокировка клавиши Windows


1-1122841454
ronyn
2005-08-01 00:24
2005.08.21
Табуляция из одного Edit в другой


1-1122724239
Antonn
2005-07-30 15:50
2005.08.21
Ресурсы в EXE шнике


14-1122575676
Alexander Panov
2005-07-28 22:34
2005.08.21
товарищъ с адреса 217.106.205.35, не надо так делать!




   Наверх