简体   繁体   English

yii2 中的数据库异常

[英]Database Exception in yii2

please help mee, can you tell me way ?请帮帮我,你能告诉我方法吗?

$totalah = Sah::find()
      ->select('mhs, SUM(IF(status_kehadiran = 1,status_kehadiran , 0))AS K3211335')
      ->where([
           'kode_mk'=> 'K3211335'
      ])
      ->groupBy('mhs')
      ->all();

 echo "<pre/>"; print_r($totalah);
 die;

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; SQLSTATE[42000]:语法错误或访问冲突:1064 你的 SQL 语法有错误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS K3211335 FROM sah WHERE kode_mk ='K3211335' GROUP BY mhs' at line 1 The SQL being executed was: SELECT mhs , SUM(IF(status_kehadiran = 1, status_kehadiran , 0))AS AS K3211335 FROM simak_absen_harian WHERE kode_mk ='K3211335' GROUP BY mhs`检查与您的 MySQL 服务器版本相对应的手册, mhs' at line 1 The SQL being executed was: SELECT 'AS K3211335 FROM sah WHERE kode_mk ='K3211335' GROUP BY mhs' at line 1 The SQL being executed was: SELECT附近使用的正确语法mhs' at line 1 The SQL being executed was: SELECT mhs , SUM(IF(status_kehadiran = 1, status_kehadiran , 0)) AS AS K3211335 FROM simak_absen_harian WHERE kode_mk ='K3211335' GROUP BY mhs`

For multiple data in select you can use array.对于选择中的多个数据,您可以使用数组。 You also need a space before AS:您还需要在 AS 之前留一个空格:

 $totalah = Sah::find()
  ->select(['mhs', 'SUM(IF(status_kehadiran = 1,status_kehadiran , 0)) AS K3211335'])
  ->where([
       'kode_mk'=> 'K3211335'
  ])
  ->groupBy('mhs')
  ->all();

If I undestand you purpose, you sum status_kehadiran when status_kehadiran = 1 , why you don't just SUM status_kehadiran where status_kehadiran = 1如果我不明白你的目的,你在status_kehadiran = 1时求和status_kehadiran ,为什么你不只是SUM status_kehadiran where status_kehadiran = 1

$totalah = Sah::find()
  ->select(['mhs', 'SUM(status_kehadiran) AS K3211335'])
  ->where([
       'kode_mk'=> 'K3211335',
       'status_kehadiran' => 1
  ])
  ->groupBy('mhs')
  ->all();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM