gpt4 book ai didi

mysql - 使用 % 和 IN 子句进行查询

转载 作者:行者123 更新时间:2023-11-29 07:54:33 27 4
gpt4 key购买 nike

我一直在这里寻找这个答案,但找不到任何答案,问题是这样的。

这是表格

USER    | PERMISSION
PEDRO | ALL
BARBARA | READ - WRITE
FULANO | WRITE

它是一个示例表,我想要的是查询拥有 ALL 权限的所有用户以及拥有我想要的该页面权限的任何用户,例如使用 IN 进行读取或写入

我正在使用这个:

select * from senha where permission IN ('read', 'all')

它只查询“pedro”,因为它拥有所有内容,而不是“barbara”,因为它有更多的单词,只是读取,也尝试过这个,但没有成功

select * from senha where permission IN ('%read%', 'all')

最佳答案

您无法使用 IN 实现类似 LIKE 的行为。使用 OR 组合两个子句:

SELECT * FROM senha 
WHERE (permission = 'ALL' OR permission LIKE '%READ%')

对于您修改后的问题,查询将是:

SELECT * FROM senha
WHERE user = 'PEDRO' AND
senha = 'TEST' AND
(permission = 'ALL' OR permission LIKE '%READ%')

话虽如此,我宁愿标准化权限,例如:

USER    | PERMISSION
--------+-----------
PEDRO | ALL
BARBARA | READ
BARBARA | WRITE
FULANO | WRITE

关于mysql - 使用 % 和 IN 子句进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25512872/

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