2016-12-03 62 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