使用sql SELECT nodejs

时间:2018-04-17 10:17:47

标签: mysql sql node.js

我尝试在node js sql plugins中使用select sql选项。 但是这种语法出错:

con.query( 'SELECT token FROM utilisateursinvitation WHERE nomwork = ?  AND 
Rejoint = ?  EXCEPT   SELECT token FROM utilisateursinvitation WHERE nomwork 
= ?  AND Rejoint = ? AND nomdugroupe = ?  ', 
[nomwork,tatazueyzyu,"nomdugroupe"], function (error, results, fields) {

和错误:

  

错误:ER_PARSE_ERROR:您的SQL语法中有错误;查看与您的MariaDB服务器版本对应的手册,以获得正确的语法,以便在第1行的“EXCEPT SELECT token FROM utilisateursinvitation WHERE nomwork ='nomdugroupe''附近使用

因为我不知道正确的语法。 你能帮助我吗 ?谢谢!

1 个答案:

答案 0 :(得分:1)

EXCEPT不是MySQL语法。

相反,您可以使用NOT INNOT EXISTS

SELECT ui.token
FROM ui.utilisateursinvitation ui
WHERE ui.nomwork = ?  AND ui.Rejoint = ?  AND
      NOT EXISTS (SELECT 
                  FROM utilisateursinvitation ui2
                  WHERE ui2.token = ui.token AND
                        ui2.nomwork = ?  AND ui2.Rejoint = ? AND
                        nomdugroupe = ?  
                 );

或者,如果您尝试使用nomworkRejoint作为输入值,但不是特定的nomdugroupe精确令牌:

SELECT ui.token
FROM ui.utilisateursinvitation ui
WHERE ui.nomwork = ?  AND ui.Rejoint = ?  
GROUP BY ui.token
HAVING SUM(nomdugroupe = ?) > 0;