powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / SQL UNION
16 сообщений из 16, страница 1 из 1
SQL UNION
    #35421207
Svetalana Shulman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем,
Пытаюсь сделать SQL UNION, получаю ошибку, что техт дата не может использоваться в
UNION. Подскажите пожалуйста если есть какойто другой способ для етого.


Zaranee vsem spasibo
...
Рейтинг: 0 / 0
SQL UNION
    #35421285
SasaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приведите здесь SQL запрос хотя бы... сервер БД...
...
Рейтинг: 0 / 0
SQL UNION
    #35421359
Svetalana Shulman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Server 2000
Eto original zapros..
SELECT Work_Order_Header.Id,
Work_Order_Header.Oid,
Work_Order_Header.Description,
Work_Order_Header.Status_sym,
aircraft_data.Aircraft_id,
Work_Order_header.Aircraft_Hours,
Work_Order_header.Aircraft_Landings,
Work_Order_data.Actual_Start_date,
Work_order_data.Planned_start_Date,
Work_order_Data.Maint_task_oid,
Work_order_data.OId,
Work_order_data.discrepancy,
worm_order_data.corrective_action,
work_order_data.Sequence_no,
Location_master.Location_Id,
work_order_Data.actual_close_date,
work_order_data.status_sym,

'date_arr' = (select top 1 actual_time_in
from flight_Data
where actual_time_in <=

work_order_header.start_date and
status_sym = 'Completed' and
aircraft_oid = Work_Order_Header.aircraft_Oid
order by actual_time_in desc),
'barcoded_oid' = '*0' + convert(varchar(12),work_order_Data.oid) + '*'
FROM Work_Order_data,
Work_Order_Header,
aircraft_data,
Location_master
WHERE

( Work_Order_data.WO_Header_Oid = Work_Order_Header.Oid ) and
( Work_Order_Header.aircraft_Oid *= aircraft_data.oid ) and
/*( Work_Order_Header.city_Oid *= Location_master_Hdr.oid ) and*/
Work_order_data.city_oid *= Location_master.oid and
work_order_data.Sequence_no is not null



Mne nujno prisoedinit' esche 3 tablizi k etomu, i condition.... Dumala chto budet luchshe cherez union..,no Work_order_data.discrepancy i work_order_Data.corrective Action TEXT, i zapros s union vidaet oshibku.
...
Рейтинг: 0 / 0
SQL UNION
    #35421388
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то относится к powerbuilder?
...
Рейтинг: 0 / 0
SQL UNION
    #35421409
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предположу, Вы пытаетесь объединить выборки, столбцы которых раного типа. пользуйтесь convert или cast функциями.
...
Рейтинг: 0 / 0
SQL UNION
    #35421424
Svetalana Shulman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konechno otnositsia.. Query ispolzuetsia v PowerBuilder Datawindow
...
Рейтинг: 0 / 0
SQL UNION
    #35421429
Svetalana Shulman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
столбцы которых раного типа

net, vse stolbzi chto ia ispolzuiu odinakovogo tipa. Query identichnie, tolko vo vtoroi polovine ia prisoediniau esche 3 tablizi..
...
Рейтинг: 0 / 0
SQL UNION
    #35421539
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пердпочитаю явные join, а не *= ... стоп! в tsql есть *= такой синтаксис?
...
Рейтинг: 0 / 0
SQL UNION
    #35421571
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Svetalana ShulmanДобрый день всем,
Пытаюсь сделать SQL UNION, получаю ошибку, что техт дата не может использоваться в
UNION. Подскажите пожалуйста если есть какойто другой способ для етого.


Zaranee vsem spasibo
Если в SQL Server 2000 техт дата это грубо говоря blob , то ничего удивительного. Делайте без blob полей, а потом по ключам доставайте их через SelectBlob и суйте куда нибудь...
...
Рейтинг: 0 / 0
SQL UNION
    #35421708
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если эти discrepancy и corrective_Action содержат заведомо меньше 4k текста можно тупо сконвертировать ..., convert(varchar(4000),discrepancy) as discrepancy, convert(varchar(4000),corrective_Action) as corrective_Action, ...
...
Рейтинг: 0 / 0
SQL UNION
    #35422161
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sPaulпердпочитаю явные join, а не *= ... стоп! в tsql есть *= такой синтаксис?
Начиная с 2005 нет.
...
Рейтинг: 0 / 0
SQL UNION
    #35422290
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп Svetalana ShulmanДобрый день всем,
Пытаюсь сделать SQL UNION, получаю ошибку, что техт дата не может использоваться в
UNION. Подскажите пожалуйста если есть какойто другой способ для етого.


Zaranee vsem spasibo
Если в SQL Server 2000 техт дата это грубо говоря blob , то ничего удивительного. Делайте без blob полей, а потом по ключам доставайте их через SelectBlob и суйте куда нибудь... Не совсем понятно, причем здесь UNION и фраза "i zapros s union vidaet oshibku" (настраивая читателя на то, что без юниона проблем нет).
Даже если в DW retrieve="select blob from table", dw.retrieve() отрабатывает без проблем.
Светлана, что было?
...
Рейтинг: 0 / 0
SQL UNION
    #35423399
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sPaul Филипп Svetalana ShulmanДобрый день всем,
Пытаюсь сделать SQL UNION, получаю ошибку, что техт дата не может использоваться в
UNION. Подскажите пожалуйста если есть какойто другой способ для етого.


Zaranee vsem spasibo
Если в SQL Server 2000 техт дата это грубо говоря blob , то ничего удивительного. Делайте без blob полей, а потом по ключам доставайте их через SelectBlob и суйте куда нибудь... Не совсем понятно, причем здесь UNION и фраза "i zapros s union vidaet oshibku" (настраивая читателя на то, что без юниона проблем нет).
Даже если в DW retrieve="select blob from table", dw.retrieve() отрабатывает без проблем.
Светлана, что было?
типы данных TEXT, NTEXT and IMAGE не могут быть использованы в SELECT ... UNION SELECT...
есть три варианта действий
1) если устраивает - заменить UNION на UNION ALL
2) сконвертировать в varchar(MAX) если данных не больше чем лимит на длину varchar.
3) привести типы данных в соответствие с требованиями, т.е. не использовать TEXT там где он не нужен.

ИМХО самое простое 1), самое правильное 3)
...
Рейтинг: 0 / 0
SQL UNION
    #35423507
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейтипы данных TEXT, NTEXT and IMAGE не могут быть использованы в SELECT ... UNION SELECT...
есть три варианта действий
1) если устраивает - заменить UNION на UNION ALL
2) сконвертировать в varchar(MAX) если данных не больше чем лимит на длину varchar.
3) привести типы данных в соответствие с требованиями, т.е. не использовать TEXT там где он не нужен.

ИМХО самое простое 1), самое правильное 3)
(чешу затылок) "техт дата" - полагал, поле вроде типа varchar... стормозил...
...
Рейтинг: 0 / 0
SQL UNION
    #35423746
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Светлана
1. Андрей Зорин уже ответил на вопрос, если что сделай:
....
corrective_action = convert(varchar(7900), worm_order_data.corrective_action),
...

я так понял в билдере, в datawindow у тебя всё равно corrective_action = string 4099 ...

2. В моём понимание, раз в main select есть nested query, не всегда, но скорее всего есть смысл использовать временную таблицу (temp table), а в таком случае и без union можно легко обойтись.
я бы переписал процедуру.
...
Рейтинг: 0 / 0
SQL UNION
    #35424053
Svetalana Shulman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Orgomnoe Spasibo vsem za pomosch.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / SQL UNION
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]