Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 长查询错误_Sql_Oracle - Fatal编程技术网

Sql 长查询错误

Sql 长查询错误,sql,oracle,Sql,Oracle,我刚刚在工作中编写了一个查询,但在运行它时,我得到了“ORA-00920:无效的关系运算符”,我似乎找不到我的错误 下面是: SELECT D.DEPARTURE_NO, D.DEPARTURE_DATE, I.ITEM_GROUP_ID, L.LUID, OA.ADDRESS1, OA.ADDRESS2, OA.CITY, OA.COUNTRY_CODE, OA.NAME, OA.POSTAL_CODE,

我刚刚在工作中编写了一个查询,但在运行它时,我得到了“ORA-00920:无效的关系运算符”,我似乎找不到我的错误

下面是:

SELECT  
  D.DEPARTURE_NO,  
  D.DEPARTURE_DATE,  
  I.ITEM_GROUP_ID,  
  L.LUID,  
  OA.ADDRESS1,  
  OA.ADDRESS2,  
  OA.CITY,  
  OA.COUNTRY_CODE,  
  OA.NAME,  
  OA.POSTAL_CODE,  
  OA.RECEIVER_ID,  
  OC.COUNTRY_NAME,  
  OL.ORDER_LINE_NO,  
  O.INTERNAL_ORDER_ID,  
  O.RECEIVER_ORDER_ID,  
  O.STORER_ID,  
  O.STORER_ORDER_ID,  
  PL.BIN_LOCATION_ID,  
  PLL.PICK_STATUS,  
  PLL.PICKLIST_LINE_NO,  
  S.SHIPMENT_ID,  
  SH.NAME,  
  SH.SHIPPER_ID,  
  SS.SHIPPER_SERVICES_ID,  
  ST.NAME,  
  SA.ADDRESS_TYPE,  
  SA.ADDRESS1,  
  SA.ADDRESS2,  
  SA.ADDRESS3,  
  SA.CITY,  
  SA.POSTAL_CODE,  
  SC.COUNTRY_NAME,  
  VOPI.PARENT_INTERNAL_ORDER_ID  
FROM  
  ORDERS O  
INNER JOIN VY_ORDER_PARENT_ID VOPI ON VOPI.INTERNAL_ORDER_ID = O.INTERNAL_ORDER_ID  
INNER JOIN VY_ORDER_PARENT_ID VOPI ON VOPI.INTERNAL_ORDER_ID = OA.INTERNAL_ORDER_ID  
INNER JOIN ORDER_ADDRESS OA ON OA.INTERNAL_ORDER_ID = O.INTERNAL_ORDER_ID  
INNER JOIN SHIPMENT S ON S.SHIPMENT_ID = O.SHIPMENT_ID  
INNER JOIN SHIPPER_SERVICES SS ON SS.SHIPPER_SERVICES_NO = O.SHIPPER_SERVICES_NO 
INNER JOIN STORER ST ON ST.STORER_ID = O.STORER_ID  
INNER JOIN ORDER_LINE OL ON OL.INTERNAL_ORDER_ID = O.INTERNAL_ORDER_ID  
INNER JOIN SHIPPER SH ON SH.SHIPPER_ID = O.SHIPPER_ID  
INNER JOIN ORDER_COUNTRY OC ON OC.COUNTRY_CODE = OA.COUNTRY_CODE  
INNER JOIN STORER_COUNTRY SC ON SC.COUNTRY_CODE OA.COUNTRY_CODE  
INNER JOIN STORER_ADDRESS SA ON SA.COUNTRY_CODE = SC.STORER_ADDRESS  
INNER JOIN STORER ST ON ST.STORER_ID = SA.STORER_ID  
INNER JOIN DEPARTURE D ON D.ACTIVE_TRANSPORT_COUNTRY = SC.COUNTRY_CODE  
INNER JOIN DEPARTURE D ON D.DEPARTURE_NO = S.DEPARTURE_NO  
INNER JOIN ITEM I ON I.COUNTRY_CODE = SC.COUNTRY_CODE  
INNER JOIN SHIPPER SH ON SH.SHIPPER_ID = S.SHIPPER_ID  
INNER JOIN SHIPPER_SERVICES SS ON SS.SHIPPER_SERVICES_NO = S.SHIPPER_SERVICES_NO  
INNER JOIN SHIPPER SH ON SH.SHIPPER_ID = SS.SHIPPER_ID  
INNER JOIN IC_TRANSACTION ICT ON ICT.LUID_NO = L.LUID_NO  
INNER JOIN PICKLIST_LINE PLL ON PLL.IC_TRANSACTION_NO = ICT.IC_TRANSACTION_NO  
INNER JOIN LUID L ON L.STORER_ID = ST.STORER_ID   
INNER JOIN ITEM I ON I.STORER_ID = ST.STORER_ID  
INNER JOIN ITEM I ON I.ITEM_ID = OL.ITEM_ID AND I.STORER_ID = OL.ITEM_ID  
INNER JOIN PICK_LOCATION PL ON PL.ITEM_ID = I.ITEM_ID AND PL.STORER_ID = I.ITEM_ID  
INNER JOIN PICKLIST_LINE PLL ON PLL.EXPECTED_BIN_LOCATION_ID = PL.BIN_LOCATION_ID  
INNER JOIN PICKLIST_LINE PLL ON PLL.EXPECTED_BUILDING_ID = PL.BUILDING_ID  
INNER JOIN ORDER_LINE OL ON OL.INTERNAL_ORDER_ID = PLL.INTERNAL_ORDER_ID AND OL.ORDER_LINE_NO = PLL.ORDER_LINE_NO  

   WHERE S.SHIPMENT_ID = '2000518517'  
显然,你不知道确切的列名,但我已经检查了很多次,没有发现任何拼写错误

还有其他错误吗

INNER JOIN STORER_COUNTRY SC ON SC.COUNTRY_CODE OA.COUNTRY_CODE 
应该是

INNER JOIN STORER_COUNTRY SC ON SC.COUNTRY_CODE = OA.COUNTRY_CODE 
看起来

INNER JOIN ORDER_LINE OL ON OL.INTERNAL_ORDER_ID = PLL.INTERNAL_ORDER_ID AND OL.ORDER_LINE NO = PLL.ORDER_LINE_NO
应该是(多亏了LONG)


您是否缺少
OL.ORDER\u行号
的最后一个联接处的
\u
?联接中缺少一个=符号。看看我贴的答案:)当你遇到这样的问题,简化,简化,简化来确定问题是什么。朗:哦,这真是个好发现。戈登:嗯,是的,我应该试试。很高兴我能为你服务:)如果它解决了你的问题,你应该接受答案,只是说
INNER JOIN ORDER_LINE OL ON OL.INTERNAL_ORDER_ID = PLL.INTERNAL_ORDER_ID AND OL.ORDER_LINE_NO = PLL.ORDER_LINE_NO