SQL查询来为所有匹配项选择一个结果

我对琼恩·雪诺一无所知:

我有两张桌子

表格1:

id|value
1|Tom
1|Lucy
2|Tom
2|Lucy
3|Tom
3|Lucy
3|Bard

表2:

id|value
1|Tom
1|Lucy
2|Tom
2|wrong
3|Tom
3|Lucy

结果应为id,其中两个表中的所有值均匹配:

1

试过这个:

select distinct a.id 
from table1 a 
join table2 b on a.id=b.id and a.value=b.value

结果是

1
2
3
托尔斯滕·凯特纳(Thorsten Kettner):

INTERSECT浮现在脑海。或者一个FULL OUTER JOINMySQL都不支持。

在MySQL中想到的最简单的方法是:

select id
from table1
group by id
having (id, group_concat(value order by value)) in
(
  select id, group_concat(value order by value)
  from table2
  group by id
);

演示:https : //dbfiddle.uk/?rdbms=mysql_8.0&fiddle=768cc8fb2d01c2b5219a4d56d127d117

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

mysql搜索在一个查询中获得一些结果和所有匹配项的计数

选择出现在另一个查询的所有结果中的条目

SQL查询,如何选择下一个值为当前值+1的间隔,标识下一个间隔并保持其他所有不变?

如何编写一个SQL查询来返回...的所有玩家的姓名?

Excel:从二维数组中提取所有部分匹配项,并创建一个包含结果的列表

使用一个文件中的字段来查找另一个文件中的字段并打印与两个文件中的字段的所有匹配项

SQL查询所有匹配项

SQL:选择与另一个表中的内容匹配的所有行

SQL:查询多个表,仅查询来自一个表的最新结果,并查询来自另一个表的所有结果

awk找到第一个匹配项,而不是所有匹配项

尝试选择所有至少有一个关联对象与查询不匹配的对象

如何查询具有一个匹配项和一个不匹配项的行

返回第一个结果匹配断言在Java流或所有非匹配结果

将所有查询的列打印为一个

SQL Server 为同一个日期选择查询返回不同的结果,在不同的场景中

是否有任何SQL或MySQL查询在一个句子的形式来显示所有的数据?

SQL - 附加一个带有查询结果的计数

一个结果中有多个SQL查询

SQL查询以从一个表中选择所有行,并从表2中选择行

如何替换除第一个匹配项外的所有匹配字符

正则表达式在最后修复一个(所有匹配项或不匹配)

一个查询的一个联接使用第二个中的第一个结果(子查询)来获取所有行

如何编写一个从两个searchValue返回匹配项的SQL查询

选择SQL查询来填充另一个选择中的缺失值

创建一个 for 循环来计算 pi 的所有项

PyQuery-attr match仅返回第一个匹配项,而不是所有匹配项

perl regex将所有匹配项(包括完全匹配项)放入一个数组中

熊猫将分组结果的所有列汇总为一个结果

如何从一个表中选择与SQL Server中的另一个表完全匹配的所有记录?