Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:获取匹配多个WHERE条件的多个键控行(可能很简单)_Mysql - Fatal编程技术网

MySQL:获取匹配多个WHERE条件的多个键控行(可能很简单)

MySQL:获取匹配多个WHERE条件的多个键控行(可能很简单),mysql,Mysql,我有一个userdata表,其中包括用户ID和类别ID。我想获取与多个类别ID关联的所有用户,例如: id | UserID | CategoryID 1 | 123456 | 999 2 | 123456 | 888 3 | 123457 | 999 4 | 123458 | 777 举个例子,如果我想得到所有用户的分类ID为999,我会得到123456和123457。我需要获取类别ID为999和888的所有用户,在这种情况下,只能得到用户123456。我不知道如何编写查询来提供这些数据 有人

我有一个userdata表,其中包括用户ID和类别ID。我想获取与多个类别ID关联的所有用户,例如:

id | UserID | CategoryID

1 | 123456 | 999

2 | 123456 | 888

3 | 123457 | 999

4 | 123458 | 777

举个例子,如果我想得到所有用户的分类ID为999,我会得到123456和123457。我需要获取类别ID为999888的所有用户,在这种情况下,只能得到用户123456。我不知道如何编写查询来提供这些数据

有人能帮忙吗?

不会的

SELECT DISTINCT tbl1.UserID FROM table_1 AS tbl1 LEFT JOIN table_1 AS tbl2 ON tbl1.UserID = tbl2.UserID WHERE tbl1.CategoryID = 999 AND tbl2.CategoryID = 888

你喜欢jpb吗?(我不确定)

我似乎自己解决了这个问题:

SELECT *, GROUP_CONCAT(CategoryID) AS ids FROM tblWebsiteUserStats
GROUP BY UserID
HAVING ids LIKE '%888%' AND ids LIKE '%999%'

这管用

这似乎是可行的,但我可以有任意数量的categoryID,这就是问题所在(基本上我允许管理员选择对几个不同类别感兴趣的用户),不一定是2个,因此每次将表加入到表中都会变得混乱。。。谢谢你!