sqlite - 如何从文本框=带有聚合的公式的表中选择(Xojo + SQLite)

标签 sqlite formula aggregates xojo

我有一个带列的表;

  • 全名,
  • 群号,
  • 日期,
  • 时间表,
  • 克拉蒙,
  • 德拉蒙,
  • 金额。

  • 我想选择那些 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/

    相关文章:

    ruby-on-rails - 将现有应用程序的 Sqlite3 切换到 PostgreSQL

    没有回调的sqlite3_exec

    visual-studio - 如何安装适用于 Visual Studio 2015 的旧版本 "SQLite for Universal Windows Platform"SDK?

    javascript - 计算两个数字之间的小数的基本公式

    hbase - 将数据仓库星型模式映射到 HBASE

    django 过滤日期时间 = 无

    sqlite - 如何重置我的SQLite密码?

    math - R 多部分公式在数学上是什么意思?

    Excel:如何对同一单元格中的两个不同数字求和?

    entity-framework-4 - 存储库模式聚合和聚合根与 Entity Framework 4.0