在单个表中用于选择硬逻辑查询的SQL构造
让我们假设我有一个这样的简单表:在单个表中用于选择硬逻辑查询的SQL构造,sql,select,records,repeat,Sql,Select,Records,Repeat,让我们假设我有一个这样的简单表: id-记录id 字符id-字符id level_id-level id,可用于字符 这是一个内容示例: 01 1 2 id为1的角色可以访问级别1和级别2是什么意思。 如果我想得到,我需要使用哪些关键字或结构: 可以访问任意两个级别的字符的字符id? 只有一级权限而没有其他权限的用户的字符id? 谁有相同的可用级别?谁有相同的可用级别? 谁有不同级别的可用人员的姓名? 这让我很震惊。。。有人能推荐点什么吗?我建议您仔细阅读SQL子句,这应该会让您有所收获。对
id-记录id
字符id-字符id
level_id-level id,可用于字符
这是一个内容示例:
01
1 2
id为1的角色可以访问级别1和级别2是什么意思。
如果我想得到,我需要使用哪些关键字或结构:
可以访问任意两个级别的字符的字符id?
只有一级权限而没有其他权限的用户的字符id?
谁有相同的可用级别?谁有相同的可用级别?
谁有不同级别的可用人员的姓名?
这让我很震惊。。。有人能推荐点什么吗?我建议您仔细阅读SQL子句,这应该会让您有所收获。对于前两个选项,请使用
HAVING
:
-- To check for access to levels 1 and 2
SELECT char_id
FROM MyTable
WHERE level_id IN (1,2)
GROUP BY Char_Id
HAVING COUNT(*) = 2
-- to check for access to only one (unspecified) level
SELECT char_id
FROM MyTable
GROUP BY Char_ID
HAVING COUNT(*) = 1
另外两个选项需要进一步阐述
您是否只希望不同字符ID之间完全匹配?在中,这两个字符都可以访问完全相同的级别列表
一旦你确定了你到底想要什么,最后一个选项将与上述相反。不,我只是想了解这些事情。我从来都不需要完整的解决方案,只需要一个关键字就可以了me@Kosmos:在您的示例中,两条记录的记录id均为0。感谢Mark Bannister,我错过了它:第一个示例为Pthanks!关于最后两件事。是的,如果你能了解一些字符就好了,这些字符可以访问完全相同的级别列表。