ОТСУТСТВУЕТ ПРАВАЯ СКОБКА В ИНСТРУКЦИИ CREATE

#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 также может иметь смысл, когда (вспомогательный) запрос ограничивает результаты