在任何人给我代码将其他表中的值插入到我的表中之前,我想清除我需要部分值......
我的意思是,我正在制作录取模块,其中学生入学后,从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)
答案 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';