![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с UNION [D6, IB6.x]
Vemer © (2003-11-26 16:48:00)
Здравствуйте.
Начал эскперименты с UNION и все плохо.
Есть 2 таблицы Т1 и T2, в каждой из них 2 поля IdX - Integer и NameX - Varchar(15). Почему ругается на следующий запрос даже внутри базы (из IB Expert):
Select ID1, Name1 From T1
Union
Select ID2, Name2 From T2
Vemer (2003-11-26 17:18:00) [1]
To Sandman >
Спасибо, но в моем случае как раз UNION и подходит, дублирование записей в полученном списке мне не надо (в итоговом варианте это будет список деталей и услуг соответственно к определенному документу).
Johnmen (2003-11-26 17:17:00) [2]
Если не указан ALL, то в результирующем НД будут отсутствовать дубликаты записей, т.е. как бы DISTINCT на все поля.
А также будет сортировка по умолчанию...
Sandman25 (2003-11-26 17:13:00) [3]
Допустим, в таблице t 1 запись.
select 5
from t
union
select 5
from t
возвращает 1 запись,
union all вернет 2 записи.
Vemer (2003-11-26 17:13:00) [4]
To Alex_Bredin >
Спасибо, но c CAST я еще не разбирался. А к общему виду все пока приведем с помощью Alter Table :).
Vemer (2003-11-26 17:09:00) [5]
Вот, нашел в Факе, но хотя с тех. английским у меня вроде нормально было, не могу уловить общего смысла фразы про ALL. Объясните пожалуйста в чем разница с обычным UNION.
UNION [ALL]-Сombines two or more tables that are fully or partially identical in structure; the ALL option keeps identical rows separate instead of folding them together into one
Alex_Bredin (2003-11-26 17:06:00) [6]
вообщето в хелпе про юнион хорошо написано, в том числе и про то что поля разного типа надо приводить к одному CAST-ом
Sandman25 (2003-11-26 17:01:00) [7]
Привыкайте вместо Union всегда писать Union All. Меньше проблем будет.
Очень редко бывает, чтобы был нужен именно Union.
Vemer (2003-11-26 17:00:00) [8]
Вот она польза форума - вышел/вошел из IB Experta, перезагрузил комп - все заработало. Дополнительный вопрос - можно ли объединять в UNION VarChar поля разной длины, и если можно, что какими спецкомандами, и что будет в результате?
stud (2003-11-26 16:50:00) [9]
а как ругается