java - 从 Sql 中的另一个表插入部分值,然后手动插入其他表

标签 java mysql sqlite

在任何人给我从其他表插入值到我的表的代码之前,我想明确我需要部分值......

我的意思是就像我正在制作入学模块,在学生被录取后,从 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/

相关文章:

java - 如何在Java中延迟声音

java - 使用 java 函数从 Spring boot 调用 Spring 执行器/重启端点

android - Android平台是否支持SpatiaLite?

android - 房间数据库查询返回空列表

android - Sqlite 查询一列中的多个值

不同包中的java复制构造函数

java - jdbc preparedStatement 的数字通配符?

php - 动态表输出 - 每个字段在继续之前出现两次

MySQL与内部IP的连接问题

mysql - 如何使用 mysql 服务器的 shell 脚本运行 sql 查询。我是 shell 脚本新手。