Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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
Sql 如何获得多个集合的交集,但忽略不交集的集合_Sql_Database_Linq_Set_Set Theory - Fatal编程技术网

Sql 如何获得多个集合的交集,但忽略不交集的集合

Sql 如何获得多个集合的交集,但忽略不交集的集合,sql,database,linq,set,set-theory,Sql,Database,Linq,Set,Set Theory,嗨,我想从一个表中获取元素,我感兴趣的元素依赖于用户选择的许多变量,这些变量包括单选按钮下拉列表和选择列表。每个变量将决定我希望从表中获得哪些ID 我需要能够忽略不相交或为空的变量 这里有一个例子 Set A = {1,2,3,4,5} Set B = {2,5,6,7,8} Set C = {Cat, Dog} A交点B交点C=={} 但我需要答案{2,5} 有没有一种方法可以不使用条件语句就从这些集合中获取这些信息?我有很多变量,如果可能的话,我想在一个语句中这样做 谢谢你会想要这样的东西

嗨,我想从一个表中获取元素,我感兴趣的元素依赖于用户选择的许多变量,这些变量包括单选按钮下拉列表和选择列表。每个变量将决定我希望从表中获得哪些ID

我需要能够忽略不相交或为空的变量

这里有一个例子

Set A = {1,2,3,4,5}
Set B = {2,5,6,7,8}
Set C = {Cat, Dog}
A交点B交点C=={}

但我需要答案{2,5}

有没有一种方法可以不使用条件语句就从这些集合中获取这些信息?我有很多变量,如果可能的话,我想在一个语句中这样做


谢谢

你会想要这样的东西:

var results =
  from x in X
  from y in Y
  where x == y || X.All(item => !Y.Contain(item))
  select x;

基本思想是:如果存在任何交集,则包含交集;如果不存在交集,则包含所有项。

我通过获取每个表的不同元素(我需要将其作为列表)来实现这一点

接下来,我创建了一个类型为

每次我发现一个新的对象并将其添加到字典中时,我都会逐一查看每个列表。如果对象已经存在,我会增加该对象的计数值

之后,我在字典中找到了最高的int Max值

然后,我从字典中选择了计数与Max匹配的对象


我本想做些更干净的事,但嘿,它行得通。这对我来说很好,我只是在开发一个原型。

LINQ还是SQL?您没有指定…Linq更可取,但我使用的是SQL数据库,因此如果Linq不支持此操作,而SQL支持此操作,我可以在Linq语句中使用SQL如果您有B={2,5,6,7,8,Cat,Dog},该怎么办?你会期望结果是什么?我仍然期望{2,5}