#sql #oracle #ddl
#sql #Oracle #ddl
Вопрос:
Я создаю таблицу и столкнулся с ошибкой, в которой упоминалось, что у меня отсутствует правая скобка.
Я просмотрел свой скрипт и понял, что ничего не пропало.
create table lalala as (
select distinct tc.riser_fid, tc.cbl_fid AS ZH_CBL_FID, FH.CABLE_NO AS ZH_CABLE_NO, FCH2.CHANNEL_SEQ_NO AS ZH_STRAND_NO,
fmh.facility_id as ZH_FACILITY_ID, tc.cbl_ownership AS ZH_CBL_OWNERSHIP, FMG.FACILITY_ID AS ZG_FACILITY_ID,
FMG.FACILITY_NAME AS ZG_FACILITY_NAME, FCG1.CHANNEL_SEQ_NO AS ZG_STRAND_NO,ft2.A_SITE_ID as A_SITE_ID, ft2.B_SITE_ID as B_SITE_ID
from sgtel10.total_cables tc
join gc_fcbl_temp FH ON FH.G3E_FID = tc.cbl_fid and fh.ltt_id in (0,888888888)
left join facility_master_temp fmh on fmh.facility_name = fh.cable_no
left join facility_master_temp fmh on fmh.facility_name || 'P' = fh.cable_no
left join facility_master_temp fmh on fmh.facility_name || 'A' = fh.cable_no
left join facility_master_temp fmh on fmh.facility_name || 'Z' = fh.cable_no
left join facility_master_temp fmh on fmh.facility_name || 'AP' = fh.cable_no
join facility_channel_temp fch2 on fch2.facility_id = fmh.facility_id and fch2.CHANNEL_REF IS NOT NULL
left JOIN FACILITY_TRAIL_ITEMS_TEMP ft on ft.facility_trail_itm_id = fch2.facility_trail_itm_id
left JOIN FACILITY_TRAIL_ITEMS_TEMP ft2 on ft2.parent_fac_trl_itm_id = ft.parent_fac_trl_itm_id and ft2.trail_seq_no = 1.0
left join facility_channel_temp FCG1 ON FCG1.CHANNEL_ID = ft2.asgn_channel_id and FCG1.CHANNEL_SEQ_NO IS NOT NULL
left join facility_master_temp fmg on fmg.facility_id = fcg1.facility_id
order by fmh.facility_id, FCH2.CHANNEL_SEQ_NO
);
Комментарии:
1. Можете ли вы вставить точную ошибку?
2. Отчет об ошибке — ORA-00907: отсутствует правая скобка 00907. 00000 — «отсутствует правая скобка» * Причина: * Действие:
Ответ №1:
ORDER BY
Предложение не имеет смысла и на самом деле может быть источником ошибки. Итак, попробуйте удалить его. Причина ORDER BY
не имеет смысла в том, что таблицы SQL по своей сути неупорядочены. ORDER BY
подходит только при выборе и представлении из таблицы.
Редактировать: ORDER BY
может иметь смысл, если вы используете FETCH
синтаксис Oracle для выбора только определенного количества строк в таком порядке. Но, поскольку ваш запрос этого не делает, ORDER BY
поэтому он неуместен.
Комментарии:
1.
ORDER BY
также может иметь смысл, когда (вспомогательный) запрос ограничивает результаты