我有一个带列的表;
我想选择那些 textbox111.text 大于公式
SUM(Cramount)*26/(SUM(Dramount+Iamount))
的列.下面的 SQL 给了我语法错误,有人可以帮我吗?DATABASE IS SQLITE AND PROGRAMMING IN XOJO。
sql= "SELECT Fullname, GroupNo, Tdate, Schedule,( SUM(Cramount)*26)/SUM(Dramount+Iamount) AS ok FROM Trans WHERE Branchcode = '1210 - Loans'GROUP BY LoanID HAVING SUM(Cramount)*26/(SUM(Dramount+Iamount)) < '"TextBox111.text'""
最佳答案
您的 SQL 字符串存在一些问题,您在 TextBox111.text 之后的单引号和双引号以错误的方式出现,并且您需要将该控制值与“+”连接起来,因为 Xojo 不进行字符串插值。
尝试类似:
sql= "SELECT Fullname, GroupNo, Tdate, Schedule, (SUM(Cramount)*26)/SUM(Dramount+Iamount) AS ok FROM Trans WHERE Branchcode = '1210 - Loans' GROUP BY LoanID HAVING SUM(Cramount)*26/(SUM(Dramount+Iamount)) < '" + TextBox111.text + "'"
我很确定 SQLite 支持在 having 子句中使用 agregate 字段的别名......
sql= "SELECT Fullname, GroupNo, Tdate, Schedule, (SUM(Cramount)*26)/SUM(Dramount+Iamount) AS ok FROM Trans WHERE Branchcode = '1210 - Loans' GROUP BY LoanID HAVING ok < '" + TextBox111.text + "'"
您的 SQL 还引用了您在表中未提及的两个字段,Branchcode 和 LoanID,希望您只是忘记提及它们。
关于sqlite - 如何从文本框=带有聚合的公式的表中选择(Xojo + SQLite),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48626024/