Mysql 如何基于输入数组在双向多对多关系中选择多个值
如何使下面的select语句一次处理多个输入(一个列表),并且仍然返回与单个输入类似的结果列表 已经过了几个小时了,我被卡住了——我需要帮助编写一个mysql语句,以便从找到“链接”的表中检索ID列表 这个问题背后的想法是向查询提供一个id值数组,并让查询返回所有其他id,这些id从表的两侧链接到从数组传入的每个id,并以逗号表示的列表中 表格结构“团队权限” 使用“每个团队获取权限”sql语句——需要将一个列表输入到此Mysql 如何基于输入数组在双向多对多关系中选择多个值,mysql,sql,arrays,database,union-all,Mysql,Sql,Arrays,Database,Union All,如何使下面的select语句一次处理多个输入(一个列表),并且仍然返回与单个输入类似的结果列表 已经过了几个小时了,我被卡住了——我需要帮助编写一个mysql语句,以便从找到“链接”的表中检索ID列表 这个问题背后的想法是向查询提供一个id值数组,并让查询返回所有其他id,这些id从表的两侧链接到从数组传入的每个id,并以逗号表示的列表中 表格结构“团队权限” 使用“每个团队获取权限”sql语句——需要将一个列表输入到此 SELECT first_teamID AS team_permissio
SELECT first_teamID AS team_permissions
FROM team_permissions
WHERE second_teamID = ?
UNION ALL
SELECT second_teamID AS team_permissions
FROM team_permissions
WHERE first_teamID = ?
预期的单输入->输出示例-这很有效
- (?=112)将产生结果:[113, 114、119]
- (?=113)将产生 结果:[112119]
- (?=117)将 产生结果:[118]
- (?=119)将 产生结果:[112113114]
first_teamID | second_teamID
113 | 112
114 | 112
118 | 117
119 | 112
119 | 113
119 | 114
- (?=[112113])将产生结果:[112113, 114、119]
- (?=[113119])将产生结果:[112113114119]
- (?=[112114118])将产生结果:[112113114117119]
只需使用
中的,例如:
SELECT first_teamID AS team_permissions
FROM team_permissions
WHERE second_teamID IN (113, 119)
UNION ALL
SELECT second_teamID AS team_permissions
FROM team_permissions
WHERE first_teamID IN (113, 119)
您正在寻找mysql中不存在的pivot函数。您可以通过发出多个查询,以编程方式执行此操作。看看这里的一些例子:这里:我知道这个问题有一个简单的答案。谢谢蒂姆!WHERE IN子句起了作用。