我正在生成一份报告以显示未结费用,例如哪种费用类型,该费用类型的固定金额,该费用类型的已支付金额以及该费用类型的最终余额。
在这里,我从 5 个表中提取数据,例如 Classes 表中的 Class Names、admissions 表中的 Roll no & Student Name、Feevars 表中的 Fee Types、studentfees 表中针对费用类型的固定金额,以及最后从费用收取表中为费用类型支付的金额.
我可以通过加减运算在选择语句中提及费用类型名称来生成部分结果。
这是完整的数据库和我的查询产生的结果。请在选择语句中查看 **@ mysql 查询 ,我已经手动提到了费用类型。但我想生成结果而不提及费用类型作为列名。
为此,我做了一件事,我将所有费用类型都放入了这样的 sql 变量中
set @sqlList = null;SELECT GROUP_CONCAT(concat('tsf.', Replace(FeeName,' ',''))) INTO @sqlList FROM tbl_feevars;
这将导致所有费用类型成为单行作为列名。最后,我编写了代码来产生我所期望的输出,但我收到了错误代码 1064 之类的错误:您的 sql 语法有错误。
这是我的最终代码
请任何人告诉我,我的 sql 查询中有什么错误。如果有的话建议我?其他方式来做这个报告。