我有2个查询。我想得到MAX date
。如果得到MAX date
,我的子查询将如下所示。
查询1:
select
tb_format.format
from
tb_format
where
tb_format.id not in
(
select
penyakit.format
from
penyakit
where
penyakit.id_puskesmas =$ id
AND MONTH(penyakit.waktu_upload) = MONTH(CURRENT_DATE)
)
我想在此MAX
上添加MONTH(penyakit.waktu_upload)
。
查询2:
select
tb_format.format
from
tb_format
where
tb_format.id not in
(
select
penyakit.format
from
penyakit
where
penyakit.id_puskesmas =$ id
AND MAX(MONTH(penyakit.waktu_upload)) = MONTH(CURRENT_DATE) -- HERE
)
但是,我遇到一个错误:
答案 0 :(得分:0)
您不能在WHERE子句中使用MAX
,而可以在HAVING子句中使用{this来说明不同之处...
select
penyakit.format
from
penyakit
where
penyakit.id_puskesmas =$ id
group by
penyakit.format
having
MAX(MONTH(penyakit.waktu_upload)) = MONTH(CURRENT_DATE)
必须有一个GROUP BY子句,这为MAX进行操作提供了基础,HAVING子句几乎是GROUP BY的WHERE子句。
不确定$ id
是什么,所以我只是从您的原始代码复制而来,但这需要更正。