【问题标题】:Want to add multiple variables to myql AND function想在mysql AND函数中添加多个变量
【发布时间】:2025-12-09 11:40:01
【问题描述】:

截图:

您好,我想在functie.code = 中添加另一个数字,以便我得到 functie.code = 3 4 和 5 的人的结果。

但是我该怎么做呢?

SELECT distinct voornaam,achternaam,provincie,functie.naam,max(provincie)
FROM medewerker,functie,persoon,adres
WHERE medewerker.Functie_Code = functie.Code
AND medewerker.Persoon_idPersoon = persoon.idPersoon
AND persoon.Adres_idAdres = adres.idAdres
AND functie.code IN ( 3, 4, 5)

提前致谢

【问题讨论】:

  • 你可能想要where functie.code IN ( 3, 4, 5)
  • 嗨@jarlh。如果我这样做,我会得到一个 sql 语法错误
  • 在您的具体情况下,将functie.code = 3 替换为functie.code IN ( 3, 4, 5)
  • 嗨@jarlh 谢谢你的帮助
  • 欢迎来到 Stack Overflow!你的文字图片isn't very helpful。它无法大声朗读或复制到编辑器中,并且索引不是很好,这意味着有相同问题的其他用户不太可能在这里找到答案。请edit您的帖子直接合并相关文本(最好使用复制+粘贴以避免转录错误)。

标签: mysql sql add


【解决方案1】:

您在select 中有一个max()。这会将查询变成没有group by 的聚合查询——它只返回一行。

此外,您使用的是古老的连接语法。简单规则:不要在from 子句中使用逗号。

这样的查询大概可以满足您的需求:

SELECT voornaam, achternaam, provincie, f.naam, provincie
FROM medewerker m JOIN
     functie f
     ON m.Functie_Code = f.Code JOIN
     persoon p
     ON m.Persoon_idPersoon = p.idPersoon JOIN
     adres a
     ON p.Adres_idAdres = a.idAdres
WHERE f.code IN ( 3, 4, 5);

尚不清楚您是否需要SELECT DISTINCT。如果不这样做,请不要在查询中不必要地使用它。

【讨论】:

  • 嘿,谢谢,这也有效。我还有一个问题,我如何才能以仅显示拥有最多 medewerkers 的省份的方式进行查询?这将有很大帮助