Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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 ora-00936缺少带有insert into子句的表达式_Sql_Sql Insert - Fatal编程技术网

Sql ora-00936缺少带有insert into子句的表达式

Sql ora-00936缺少带有insert into子句的表达式,sql,sql-insert,Sql,Sql Insert,正在获取ORA-00936:以下查询中缺少表达式。 请帮忙 INSERT INTO TT_FX_LADDER_INFO(DEAL_NUM,SPOT_RATE,FORWARD_RATE,LBS_RATE,DF_CCY1,DF_CCY2,FX_TYPE,TYPE,TRADING_BOOK_FBO_ID_NUM,ENTITY_FBO_ID_NUM,POS_CCY_PAIR,AS_ON_DATE,DECOMPOSE_DATE,CCY_ONE_AMOUNT,CCY_TWO_AMOUNT,CCY_1,CCY

正在获取ORA-00936:以下查询中缺少表达式。 请帮忙

INSERT INTO TT_FX_LADDER_INFO(DEAL_NUM,SPOT_RATE,FORWARD_RATE,LBS_RATE,DF_CCY1,DF_CCY2,FX_TYPE,TYPE,TRADING_BOOK_FBO_ID_NUM,ENTITY_FBO_ID_NUM,POS_CCY_PAIR,AS_ON_DATE,DECOMPOSE_DATE,CCY_ONE_AMOUNT,CCY_TWO_AMOUNT,CCY_1,CCY_2,IS_FX_MERCHANT_TRADE) VALUES  
(
    SELECT '0','0','0','0','0','0','FWD','OPENING POSITION',TRADING_BOOK_FBO_ID_NUM,ENTITY_FBO_ID_NUM,CURRENCY_PAIR,LADDER_DATE,DECOMPOSE_DATE,SUM(CCY_ONE_AMOUNT) CCY_ONE_POSITION,SUM(CCY_TWO_AMOUNT) CCY_TWO_POSITION,CCY_1,CCY_2,IS_FX_MERCHANT_TRADE 
    FROM 
    (
        SELECT hdg.TRADING_BOOK_FBO_ID_NUM TRADING_BOOK_FBO_ID_NUM,hdg.ENTITY_FBO_ID_NUM,hdg.CURRENCY_PAIR,
        TO_CHAR(elem.LADDER_DATE,'DD-MM-YYYY') LADDER_DATE,
        TO_CHAR(elem.LADDER_DATE,'DD-MM-YYYY') DECOMPOSE_DATE

        FROM TT_FX_HDG hdg,TT_FX_HDG_ELEMS elem
        WHERE elem.DEAL_NUM = hdg.DEAL_NUM 
        AND hdg.FX_TYPE = 'FWD'   

    )
    group by TRADING_BOOK_FBO_ID_NUM,ENTITY_FBO_ID_NUM,CURRENCY_PAIR,LADDER_DATE,DECOMPOSE_DATE,CCY_1,CCY_2,IS_FX_MERCHANT_TRADE
);
没有insert into子句的内部查询工作正常


非常感谢您的帮助。

只需删除
值即可。使用
insert时不需要。选择
。因此,假设所有其他方面都是一致的:

INSERT INTO TT_FX_LADDER_INFO(DEAL_NUM, SPOT_RATE,FORWARD_RATE,LBS_RATE,DF_CCY1,DF_CCY2,FX_TYPE,TYPE,TRADING_BOOK_FBO_ID_NUM,ENTITY_FBO_ID_NUM,POS_CCY_PAIR,AS_ON_DATE,DECOMPOSE_DATE,CCY_ONE_AMOUNT,CCY_TWO_AMOUNT,CCY_1,CCY_2,IS_FX_MERCHANT_TRADE
                              )  
    SELECT '0','0','0','0','0','0', 'FWD', 'OPENING POSITION',
           TRADING_BOOK_FBO_ID_NUM, ENTITY_FBO_ID_NUM, CURRENCY_PAIR,
           LADDER_DATE, DECOMPOSE_DATE,
           SUM(CCY_ONE_AMOUNT) as CCY_ONE_POSITION,
           SUM(CCY_TWO_AMOUNT) as CCY_TWO_POSITION,
           CCY_1,CCY_2,IS_FX_MERCHANT_TRADE 
    FROM (SELECT hdg.TRADING_BOOK_FBO_ID_NUM TRADING_BOOK_FBO_ID_NUM, hdg.ENTITY_FBO_ID_NUM, hdg.CURRENCY_PAIR,
                 TO_CHAR(elem.LADDER_DATE,'DD-MM-YYYY') as LADDER_DATE,
                 TO_CHAR(elem.LADDER_DATE,'DD-MM-YYYY') as DECOMPOSE_DATE
          FROM TT_FX_HDG hdg JOIN
               TT_FX_HDG_ELEMS elem
               ON elem.DEAL_NUM = hdg.DEAL_NUM  AND hdg.FX_TYPE = 'FWD'   
          ) x
     GROUP BY TRADING_BOOK_FBO_ID_NUM, ENTITY_FBO_ID_NUM, CURRENCY_PAIR,
              LADDER_DATE, DECOMPOSE_DATE, CCY_1,CCY_2,
              IS_FX_MERCHANT_TRADE;
我还建议:

  • 编写您的查询以便您可以读取它们——将不可能的长行分开,并在逗号后使用空格
  • 学习使用正确的
    JOIN
    语法。简单规则:切勿在
    FROM
    子句中使用逗号
  • 不要在数值常量周围加单引号。在某些情况下(尽管这里没有),这可能会导致性能问题
  • 定义列别名时使用
    作为

    • 您的查询完全错误。发现了一些错误

      SUM(CCY_ONE_AMOUNT) CCY_ONE_POSITION,SUM(CCY_TWO_AMOUNT) CCY_TWO_POSITION,CCY_1,CCY_2,IS_FX_MERCHANT_TRADE 
      

      在内部select语句中未选择上述列。因此,它不会起作用

      请很好地格式化您的查询。请格式化,这对眼睛极为有害:DCU可以共享您的表模式,以便我可以在本地计算机上调试它