есть некий запрос
Код: Выделить всё
SELECT ZAY.Nomer as Z_Nom, ZAY.DATA_Z, ZAY.Time_Z,
W.vid_rabot as W_vid,
Tip.Neispr as T_Neisp,
Abonent.ID_LS as F_A_ID_LS
FROM ZAYAVKA ZAY
INNER JOIN FIO_Abonent Abonent ON ZAY.ID_LS = Abonent.ID_LS
INNER JOIN Tip_Neispr Tip ON ZAY.ID_N = Tip.ID_N
INNER JOIN Works W ON ZAY.ID_W = W.ID_W
WHERE (ZAY.DATA_Z BETWEEN '01.01.1000' AND '11.11.2010')
union
SELECT ZAY.Nomer as Z_Nom, ZAY.DATA_Z, ZAY.Time_Z,
W_P.vid_rabot_P as W_vid_P,
Tip_P.Neispr_P as T_Neisp_P,
Abonent.ID_LS as F_A_ID_LS
FROM ZAYAVKA ZAY
INNER JOIN FIO_Abonent Abonent ON ZAY.ID_LS = Abonent.ID_LS
INNER JOIN Tip_Neispr_PLAT Tip_P ON ZAY.ID_N_P = Tip_P.ID_N_P
INNER JOIN Works_PLAT W_P ON ZAY.ID_W_P = W_P.ID_W_P
WHERE (ZAY.DATA_Z BETWEEN '01.01.1000' AND '11.11.2010')
OrDER BY 2, 3
причем union Для того чтобы объединитиь
Код: Выделить всё
INNER JOIN Tip_Neispr_PLAT Tip_P ON ZAY.ID_N_P = Tip_P.ID_N_P
INNER JOIN Works_PLAT W_P ON ZAY.ID_W_P = W_P.ID_W_P
поля имеют данные
W.vid_rabot as W_vid, 2 null
Tip.Neispr as T_Neisp, 3 null
W_P.vid_rabot_P as W_vid_P, null 3
Tip_P.Neispr_P as T_Neisp_P, null 4
но при этом запросе он создает связь с таблицами Tip_Neispr_PLAT и Works_PLAT но не создает поля W_vid_P и T_Neisp_P
пробовал сделать поля null
W.vid_rabot as W_vid,
Tip.Neispr as T_Neisp,
null as W_vid_P,
null as T_Neisp_P,
(для первой половины) и анологично для 2ой
но при этом пишет ошибку типа данных:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
Data type unknown.
хотя по отдельности все работает
Код: Выделить всё
[i]SELECT ZAY.Nomer as Z_Nom, ZAY.DATA_Z, ZAY.Time_Z,
W.vid_rabot as W_vid,
Tip.Neispr as T_Neisp,
W_P.vid_rabot_P as W_vid_P,
Tip_P.Neispr_P as T_Neisp_P,
Tip_P.stoimost as T_Stoim_P,
Abonent.ID_LS as F_A_ID_LS
FROM ZAYAVKA ZAY
INNER JOIN FIO_Abonent Abonent ON ZAY.ID_LS = Abonent.ID_LS
left JOIN Tip_Neispr Tip ON ZAY.ID_N = Tip.ID_N
left JOIN Works W ON ZAY.ID_W = W.ID_W
left JOIN Tip_Neispr_PLAT Tip_P ON ZAY.ID_N_P = Tip_P.ID_N_P
left JOIN Works_PLAT W_P ON ZAY.ID_W_P = W_P.ID_W_P
WHERE (ZAY.DATA_Z BETWEEN '11.11.2010' AND '11.11.2010')
and (Abonent.street is not null)
and ( Abonent.House is not null)
and ( Abonent.kv is not null)[/i]
Может я не правильно использую UNION, перчитал кучу всего, но не встретил ни чего подобного.(( Хотелось бы без union как-то сделать иначе как-то некрасиво получается.
Может кто-нибудь подскажет??