从Sql中的另一个表中插入部分值,并手动插入其他表

时间:2015-01-16 10:52:12

标签: java mysql sqlite

在任何人给我代码将其他表中的值插入到我的表中之前,我想清除我需要部分值......

我的意思是,我正在制作录取模块,其中学生入学后,从FeeDetail表中支付的详细信息使用他的班级和他的详细信息,即来自输入表格的scholarId等。并创建了未付的发票/费用滑动。

我尝试了这段代码,但不起作用..

Insert into FeePayment(FeeID,TutionFees,LibraryFees,UniversityDevelopmentFees,UniversityStudentWelfareFees,SecurityDeposit,OtherFees,TotalFees,DueFees,FeePaymentID,ScholarNo,Class,TotalPaid)values((select FeeID,TutionFees,LibraryFees,UniversityDevelopmentFees,UniversityStudentWelfareFees,SecurityDeposit,OtherFees,TotalFees,TotalFees from FeesDetails where class='FYBCA'),'FD0001','ST101','FYBCA',0);

我从Sql获得的错误是

Error while executing SQL query: 5 values for 13 columns(从Sql检查而不是Java)

1 个答案:

答案 0 :(得分:0)

首先保留选择查询本身的所有常量值(' FD0001'' ST101'' FYBCA',0)。然后删除" values()"关键词。这应该省略,因为您可能必须插入与子查询返回的记录一样多的记录。

最终查询将是:

Insert into FeePayment(FeeID,TutionFees,LibraryFees,UniversityDevelopmentFees,UniversityStudentWelfareFees,SecurityDeposit,OtherFees,TotalFees,DueFees,FeePaymentID,ScholarNo,Class,TotalPaid) select FeeID,TutionFees,LibraryFees,UniversityDevelopmentFees,UniversityStudentWelfareFees,SecurityDeposit,OtherFees,TotalFees,TotalFees,'FD0001','ST101','FYBCA',0 from FeesDetails where class='FYBCA';