我尝试在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''附近使用
因为我不知道正确的语法。 你能帮助我吗 ?谢谢!
答案 0 :(得分:1)
EXCEPT
不是MySQL语法。
相反,您可以使用NOT IN
或NOT 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 = ?
);
或者,如果您尝试使用nomwork
和Rejoint
作为输入值,但不是特定的nomdugroupe
精确令牌:
SELECT ui.token
FROM ui.utilisateursinvitation ui
WHERE ui.nomwork = ? AND ui.Rejoint = ?
GROUP BY ui.token
HAVING SUM(nomdugroupe = ?) > 0;