我有一个userdata表,其中包含用户ID和类别ID。我想抓住与多个类别ID相关联的所有用户,例如:
id | UserID | CategoryID
1 | 123456 | 999
2 | 123456 | 888
3 | 123457 | 999
4 | 123458 | 777
例如,如果我想让所有用户的categoryID为999,我会得到123456和123457.我需要让所有用户的categoryID为999 和 888,在这种情况下应该只给我用户123456.我无法弄清楚如何编写查询来给我这些数据。
有人可以帮忙吗?
答案 0 :(得分:1)
岂不
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? (我不确定)
答案 1 :(得分:1)
我似乎已经解决了这个问题:
SELECT *, GROUP_CONCAT(CategoryID) AS ids FROM tblWebsiteUserStats
GROUP BY UserID
HAVING ids LIKE '%888%' AND ids LIKE '%999%'
这有效!