Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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获取其中一个字段属于数组的所有行,并且所有成员在另一个字段中都有一个公共值_Mysql_Sql - Fatal编程技术网

MySQL获取其中一个字段属于数组的所有行,并且所有成员在另一个字段中都有一个公共值

MySQL获取其中一个字段属于数组的所有行,并且所有成员在另一个字段中都有一个公共值,mysql,sql,Mysql,Sql,假设我有以下用户属性表: id, user_id properties 1, NULL, prop_ss1 2, NULL, prop_ss2 3, 2, prop_1 4, 2, prop_2 5, 3, prop_1 6, 3, prop_2 7, 3, prop_3 8, 4, prop_1 给定一个user_id数组,如何获取所有属性的列表,这些属性要么是user_id为NULL(如果

假设我有以下用户属性表:

id, user_id  properties
1,  NULL,    prop_ss1
2,  NULL,    prop_ss2
3,  2,       prop_1
4,  2,       prop_2
5,  3,       prop_1
6,  3,       prop_2
7,  3,       prop_3
8,  4,       prop_1
给定一个user_id数组,如何获取所有属性的列表,这些属性要么是user_id为NULL(如果愿意,可以称之为全局属性),要么是在给定数组中的所有user_id之间共享的

例如,给定一个数组(2,3),我想得到:

prop_ss1
prop_ss2
prop_1
prop_2
prop_ss1
prop_ss2
prop_1
或者,给定一个数组(2,3,4),我想得到:

prop_ss1
prop_ss2
prop_1
prop_2
prop_ss1
prop_ss2
prop_1

尝试合并两个单独的查询:

SELECT properties FROM your_table WHERE user_id IS NULL

UNION

SELECT properties
FROM your_table
WHERE user_id IN (2, 3)
GROUP BY properties
HAVING COUNT(DISTINCT user_id) = 2
在线查看它的工作情况:

最后一行中的数字
2
是您正在查询的用户数

select distinct properties from table
where user_id is null
or user_id in (1,2,3)
对不起,误读了你的帖子,需要分组讨论