在任何人给我从其他表插入值到我的表的代码之前,我想明确我需要部分值......
我的意思是就像我正在制作入学模块,在学生被录取后,从 FeeDetail 表中使用他的类(class)和他的详细信息(即输入表格中的 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 得到的错误是
执行 SQL 查询时出错:13 列有 5 个值
(从 SQL 而非 Java 检查)
最佳答案
首先保留选择查询本身的所有常量值('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';
关于java - 从 Sql 中的另一个表插入部分值,然后手动插入其他表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27982363/