gpt4 book ai didi

mysql - 需要帮助来缩短 mysql 多个 OR 条件

转载 作者:行者123 更新时间:2023-11-29 13:43:55 26 4
gpt4 key购买 nike

我有一个表,其中包含经理 ID 和员工 ID(逗号分隔),并且我有以下 sql 语句:

SELECT manager_id, staff_idsFROM manager_staffs WHERE 1 IN (staff_ids)OR 3 IN (staff_ids)OR 5 IN (staff_ids)OR 23 IN (staff_ids)OR 12 IN (staff_ids)OR 16 IN (staff_ids)OR 19 IN (staff_ids)OR 32 IN (staff_ids)OR 123 IN (staff_ids)............

基本上,这是一个非常长的查询,带有很多“OR”条件。如果有办法的话我想改进或缩短它。

需要所有 SQL 专家的帮助。

最佳答案

问题在于您的数据结构 - 不要将所有员工 ID 放在一列中。制作一个表 - 您可以将其称为 manager_staff:

CREATE TABLE manager_staff (
manager_id int,
staff_id int
);

因此,您可以创建记录,显示每个员工向哪位经理报告。那么你的查询就变成了:

select manager_id, staff_id from manager_staff where staff_id in (1,3,...);

关于mysql - 需要帮助来缩短 mysql 多个 OR 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17697293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com