[英]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
FROMsah
WHEREkode_mk
='K3211335' GROUP BYmhs' at line 1 The SQL being executed was: SELECT
mhs, SUM(IF(status_kehadiran = 1,
status_kehadiran,
0))ASAS
K3211335FROM
simak_absen_harianWHERE
kode_mk='K3211335' GROUP BY
mhs`检查与您的 MySQL 服务器版本相对应的手册,
mhs' at line 1 The SQL being executed was: SELECT
'ASK3211335
FROMsah
WHEREkode_mk
='K3211335' GROUP BYmhs' 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)) ASAS
K3211335FROM
simak_absen_harianWHERE
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.