有人可以帮我完成这个简单的(但我不知道如何做)任务吗?

为了避免浪费时间修复每一行,我正在尝试做这样的事情

    SET @auditor = a, b, c;

    SELECT *
    FROM Audits
    WHERE auditor in (@auditor)


我的查询确实很长,这部分“(@auditor)中的WHERE审计员”将是重复的。因此,在劳动力发生某些变化时,先进行某种设置将使更新速度更快(我们聘用了“ d”和/或“ b”)

提前致谢

最佳答案

您可以使用数组变量和FIND_IN_SET

SET @auditors = 'a,b,c';

SELECT *
FROM Audits
WHERE FIND_IN_SET(auditor,@auditors)


说明:
如果在FIND_IN_SET(auditor,@auditors)中找到了审计员,则@auditors为true,并且在这种情况下它将返回索引。

但是我会考虑将审计师保存在单独的表中,而不是保存在变量中,以更好地跟踪他们。

08-08 02:47