2016-11-07 107 views
0

请问,我必须执行检查的用户id列,但输入可能会超过1快速SQL检查复式记录

条件

我要检查是否有用户id (输入)是表格内的记录之一或不是。

如果他们全部的表

SQL返回1

如果其中一人是不是

SQL返回0

我是一个新手,里面什么我能做的只是

SELECT count(1) from users_roles where userid = ? 

并在java编码中使用FOR循环插入参数并重新运行此SQL。

是否有任何其他方法或方法我可以用更快的方式做到这一点?我在想如果输入变得越来越多,可能需要很多资源来处理它。

我是SQL中的新手。 Sry回答愚蠢的问题。

+0

我删除了不兼容的数据库标记。 –

回答

0

我想你想是这样的:

select case when count(*) = 3 then 1 else 0 end) as all_there 
from users_roles 
where userid in (?, ?, ?); 

3等于在in列表参数的数量。

+0

@Gordon_Linoff谢谢,哈哈,这是我想要的解决方案。非常感谢^ _ ^。它解决了所有问题。 hehehehe XD – SicaYoumi