2016-12-03 38 views
1

你好,我想创建MySQL中的观点,但我得到语法错误#1064即MySQL的运行平衡查看错误

1064 - 你在你的SQL语法错误;请检查与您的MySQL服务器版本对应的手册,以便在“SET @csum:= 0;”附近使用正确的语法。在3号线

在这里,我怎么能解决这个变量问题的任何解决方案或替代的方法来计算轻松

这里运行平衡是我的代码

SET @csum := 0; 
SELECT 
tblleasesalesschedule_details.LeaseSaleID, 
tblleasesalesschedule_details.ScheduleSr, 
tblleasesalesschedule_details.InstallmentName, 
tblleasesalesschedule_details.InstallmentSr, 
tblleasesalesschedule_details.ScheduleDate, 
tblleasesalesschedule_details.Amount, 
IFNULL(tblleasesalespayment.Amount, 0) AS AmountPaid, 
(coalesce(tblleasesalesschedule_details.Amount, 0) - coalesce(tblleasesalespayment.Amount, 0)) As BalanceAmount, 
(@csum := @csum + (coalesce(tblleasesalesschedule_details.Amount, 0) - coalesce(tblleasesalespayment.Amount, 0))) as RunningBalance, 
tblleasesalespayment.PaymentDate 
FROM 
tblleasesalespayment 
RIGHT JOIN tblleasesalesschedule_details ON tblleasesalesschedule_details.InstallmentSr = tblleasesalespayment.InstallmentSr 
WHERE 
tblleasesalesschedule_details.PayDate < NOW(); 
+0

要创建一个assing变种风景吗? 。显示所有的代码请 – scaisEdge

+0

是的,但我不确定在视图中,我们可以指定变量或不是这是我有的完整代码,实际上我使用的是navicat preimum – DUbaicos

回答

0

你应该avoi使用VAR INS一视图

视图定义受到以下限制: (从MySQL文件)http://dev.mysql.com/doc/refman/5.6/en/create-view.html

SELECT语句不能在FROM子句中包含子查询。

SELECT语句不能引用系统变量或用户定义的 变量。

在存储的程序中,SELECT语句不能引用程序 参数或局部变量。

SELECT语句不能引用预准备的语句参数。

定义中引用的任何表格或视图必须存在。如果在创建视图 后,表格或视图的定义将 删除,则视图的使用会导致错误。要检查定义此类问题的视图 ,请使用CHECK TABLE语句。

该定义不能引用TEMPORARY表,并且不能创建TEMPORARY视图 。

您无法将触发器与视图相关联。

SELECT语句中的列名称的别名将根据 进行检查,最大列长度为64个字符(不是最大别名为 的长度为256个字符)。

,如果你需要使用PARAM的看看函数或过程http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html