vendredi 9 février 2018

Mysql syntax error on IF statement

I try get vacancies per course, cause have limited vacancies per course;

So a need return:

Course 1 - No vacancies
Course 2 - 2 vacancies

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

Thanks for help

Aucun commentaire:

Enregistrer un commentaire