【问题标题】:Getting Error while inserting Stored Procedure result in temp插入存储过程时出错导致临时
【发布时间】:2015-01-05 08:05:23
【问题描述】:

我在存储过程中有多个 select 语句,我想将 select 语句的结果插入到临时表中。 我已经创建了临时表。我正在使用 mysql 工作台。这是我的一些代码

CREATE DEFINER=`root`@`localhost` PROCEDURE `PNL1`()
BEGIN    

SELECT sum(amount), groupname FROM ( (SELECT -(ramount) AS amount, rgroupname AS groupname FROM receiptsvoucher2) UNION ALL (SELECT -(ramount2) AS amount, rgroupname2 AS groupname FROM receiptsvoucher2) UNION ALL (SELECT pyamount AS amount,pygroupname AS groupname FROM paymentvoucher2) UNION ALL (SELECT pyamount2 AS amount, pygroupname2 AS groupname FROM paymentvoucher2) UNION ALL (SELECT jamount1 AS amount, jgroupname AS groupname FROM journalvoucher2) UNION ALL (SELECT -(jamount2) AS amount,jgroupname2 AS groupname FROM journalvoucher2) ) p where groupname='Other Expenses';

insert into temp(amount1,groupname1) values(amount, groupname);

execute PNL1;

select * from temp;

END

我收到了这个错误

错误代码:1054 '字段列表'中的未知列'amount'

【问题讨论】:

    标签: mysql stored-procedures


    【解决方案1】:

    试试这个,

    insert into temp(amount1,groupname1) 
    SELECT sum(amount), groupname FROM ( 
    (SELECT -(ramount) AS amount, rgroupname AS groupname FROM receiptsvoucher2) 
     UNION ALL 
    (SELECT -(ramount2) AS amount, rgroupname2 AS groupname FROM receiptsvoucher2) 
     UNION ALL 
    (SELECT pyamount AS amount,pygroupname AS groupname FROM paymentvoucher2) 
     UNION ALL
    (SELECT pyamount2 AS amount, pygroupname2 AS groupname FROM paymentvoucher2)
     UNION ALL 
    (SELECT jamount1 AS amount, jgroupname AS groupname FROM journalvoucher2) 
     UNION ALL 
    (SELECT -(jamount2) AS amount,jgroupname2 AS groupname FROM journalvoucher2) ) p  
    where groupname='Other Expenses';
    

    更多关于Insert-Select

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-26
      • 2022-01-24
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      相关资源
      最近更新 更多