gpt4 book ai didi

MySQL IF 语句语法错误

转载 作者:行者123 更新时间:2023-11-29 17:57:04 24 4
gpt4 key购买 nike

我尝试为每门类(class)获取空缺职位,因为每门类(class)的空缺职位有限;

所以需要返回:

类(class) 1 - 无空缺
类(class) 2 - 2 个空缺

SELECT
curs.CURSO_ID,
curs.CURSO_NOME,
curs.CURSO_DATA_INICIO,
curs.CURSO_DATA_FIM,
curs.CURSO_DESCRICAO,
curs.CURSO_LINK,
cate.CAT_CUR_ID,
cate.CAT_CUR_DESCRICAO,
curs.CURSO_VAGAS,

(
SELECT COUNT(sol.SOLI_ID)
FROM
solicitacao AS sol
WHERE
sol.SOLI_FK_CURSO_ID = curs.CURSO_ID
) AS pedido,

IF (
curs.CURSO_VAGAS > pedido THEN (curs.CURSO_VAGAS - pedido) ELSE 0
) AS totalVagas


/** CASE WHEN (curs.CURSO_VAGAS > pedido) THEN (curs.CURSO_VAGAS - pedido) ELSE 0 END AS totalVagas **/

FROM
curso AS curs

LEFT JOIN curso_categoria AS cate ON cate.CAT_CUR_ID = curs.CURSO_FK_CATEGORIA_ID

ORDER BY
CURSO_DATA_INICIO ASC

感谢帮助

最佳答案

试试这个 IF 语法:

 IF (curs.CURSO_VAGAS > (
SELECT COUNT(sol.SOLI_ID)
FROM solicitacao AS sol
WHERE
sol.SOLI_FK_CURSO_ID = curs.CURSO_ID
), (curs.CURSO_VAGAS - (
SELECT COUNT(sol.SOLI_ID)
FROM solicitacao AS sol
WHERE
sol.SOLI_FK_CURSO_ID = curs.CURSO_ID
)), 0) AS totalVagas

您只能在 GROUP BYORDER BYHAVING 子句中使用别名

关于MySQL IF 语句语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48708136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com