【问题标题】:Creating a Where Clause in mysql在 mysql 中创建 Where 子句
【发布时间】:2012-08-22 11:08:48
【问题描述】:
find_by_sql("SELECT s.productcode, s.description, CAST(SUM(l.amount) as UNSIGNED) AS amount FROM softwares s LEFT JOIN licenses l ON s.id=l.software_id GROUP BY s.productcode, s.description WHERE s.supplier= 'softcat'")

我目前有这个,我收到错误ActiveRecord::StatementInvalid in SoftwaresController#export_softcat

我正在尝试在末尾添加一个 where 子句,以仅选择特定供应商的记录。

【问题讨论】:

    标签: mysql ruby-on-rails activerecord where-clause


    【解决方案1】:
    SELECT s.productcode, s.description, CAST(SUM(l.amount) as UNSIGNED) AS amount
    FROM softwares s
        LEFT JOIN licenses l ON s.id=l.software_id
    WHERE s.supplier = 'softcat'
    GROUP BY s.productcode, s.description
    

    试试这个方法

    【讨论】:

      【解决方案2】:

      您需要在 GROUP BY 子句之前添加 WHERE 子句,从而有效地将 SQL 更改为:

      SELECT s.productcode, s.description, CAST(SUM(l.amount) as UNSIGNED) AS amount
      FROM softwares s 
      LEFT JOIN licenses l ON s.id=l.software_id
      WHERE s.supplier= 'softcat'
      GROUP BY s.productcode, s.description
      

      【讨论】:

        【解决方案3】:

        您必须将 GROUP BY 语句放在 WHERE 子句语句之后

        【讨论】:

          猜你喜欢
          • 2014-10-02
          • 1970-01-01
          • 2021-02-07
          • 1970-01-01
          • 1970-01-01
          • 2015-11-03
          • 2020-12-13
          • 1970-01-01
          • 2023-03-20
          相关资源
          最近更新 更多