sql嵌套查询中,子查询需要用到父查询的列值,这个怎么写?
比如,我有一个会员表,表中一列为权限(值为1,3,5,7)这样的值,我想将其中有3权限的会员选出来,写的数句如下:select会员名from会员表where3in(sel...
比如,我有一个会员表,表中一列为 权限(值为 1,3,5,7)这样的值,我想将其中有3权限的会员选出来,写的数句如下:
select 会员名 from 会员表 where 3 in (select col from dbo.split(权限,',')) dbo.split为自定义函数,3为一个动态值。
查询出错,提示:'权限'不是可以识别的 OPTIMIZER LOCK HINTS 选项。
求解。 展开
select 会员名 from 会员表 where 3 in (select col from dbo.split(权限,',')) dbo.split为自定义函数,3为一个动态值。
查询出错,提示:'权限'不是可以识别的 OPTIMIZER LOCK HINTS 选项。
求解。 展开
1个回答
展开全部
不知道你的函数是怎么写的,可以试试
select 会员名 from 会员表 where 3 in (select col from dbo.split( 会员表.权限,','))
此外,我能想到3个办法。
最好把权限表拆成单独的表,一条一个权限,这样查询很方便,如果不方便,看2。
把权限值改成这样 ,1,3,5,7, 用 select 会员名 from 会员表
where field like '*,3,*' , 如果这样也不行,看3where field ='3' or field like '3,*' or field like '*,3' or field like '*,3,*'
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询