PDOException:SQLSTATE [42000]:语法错误或访问冲突:1055> SELECT列表的表达式#3不在GROUP BY子句中,

时间:2018-09-27 11:54:17

标签: mysql sql drupal-6

我收到如下错误

  

PDOException:SQLSTATE [42000]:语法错误或访问冲突:1055   SELECT列表的表达式#3不在GROUP BY子句中,包含   非汇总列'np_bo.fdm.field_deposit_amount_value'   在功能上不依赖于GROUP BY子句中的列;这是   与sql_mode = only_full_group_by不兼容:

对于以下给出的代码:

 $sql =  "SELECT n.nid,  fg.field_guest_target_id as guest, fdm.field_deposit_amount_value as deposit, 
              if(sum(fau.field_amount_used_value) IS NULL, 0, sum(fau.field_amount_used_value)) as used ,
              if((fdm.field_deposit_amount_value - sum(fau.field_amount_used_value)) IS NULL, fdm.field_deposit_amount_value ,(fdm.field_deposit_amount_value - sum(fau.field_amount_used_value))) as leftamount
           FROM node n 
             INNER JOIN field_data_field_guest fg ON n.nid = fg.entity_id 
             INNER JOIN field_data_field_deposit_status fds ON n.nid = fds.entity_id 
             INNER JOIN field_data_field_deposit_amount fdm ON n.nid = fdm.entity_id 
             LEFT JOIN field_data_field_deposit_utilized fdu ON fdu.entity_id = n.nid 
             LEFT JOIN field_data_field_amount_used fau ON fau.entity_id = fdu.field_deposit_utilized_value 
             LEFT JOIN field_data_field_bill_status fbs ON fbs.entity_id = fdu.field_deposit_utilized_value
          WHERE type = 'deposit_sale' and 
                fg.field_guest_target_id = :guest and 
                fds.field_deposit_status_value = 'open' and
                (fbs.field_bill_status_value <> 'Nullified' OR fbs.field_bill_status_value IS NULL)      
          GROUP BY n.nid
          ORDER BY n.nid limit 1";
  $options = array(':guest' => $guest);
  $deposit_sales = db_query($sql, $options)->fetchAssoc();
  return $deposit_sales;

应该是什么错误?和我需要采取的修复步骤?

0 个答案:

没有答案