【发布时间】:2020-12-31 22:30:15
【问题描述】:
我有 5 个用户,他们有一列“shop_access”(这是商店 ID 的列表,例如:1、2、3、4)
我正在尝试从数据库中获取所有在其 shop_access 中具有商店 ID(例如 2)的用户
Current Query:
SELECT * FROM users WHERE '2' IN (shop_access)
但是,它只返回 shop_access 以数字 2 开头的用户。
例如
- 用户 1 管理店铺 1,2,3
- 用户 2 管理店铺 2,4,5
- 用户 3 管理店铺 1,3,4
- 用户 4 管理商店 2,3
运行 IN 子句时将返回的唯一一个是用户 2 和用户 4。
用户 1 被忽略(它不应该因为它在列表中有数字 2),因为它不是以数字 2开始。
我目前无法返回并更改设置方式,例如将其转换为 JSON 并首先使用 PHP 处理它,因此如果有人可以尝试使其工作而无需更改列理想的数据(shop_access)。
【问题讨论】:
-
请用您正在运行的数据库标记您的问题:mysql、oracle、postgresql...?
-
您能否更改查询以对用户和商店访问表 WHERE shopid = 2 进行联接?
标签: mysql sql string csv phpmyadmin