请教一下各位大神数据库查询的写法

数据库表字段为 key,name 其中key不重复,一个name对应多个key,现在给定两个oem,(同一个name要同时包含这两个key)要查出怎么查出同时包含这两个key的所有name呢?

已采纳
Vimin
Vimin
一直很安静···
1年前

答案来源于chatGPT

SELECT name
FROM your_table
WHERE key IN ('key1', 'key2')
GROUP BY name
HAVING COUNT(DISTINCT key) = 2;

在上述示例中,假设你的表名为 your_table,字段名为 key 和 name。你需要将 'key1' 和 'key2' 替换为你要查找的两个具体的 key 值。

这个查询使用了 IN 条件来匹配给定的两个 key 值。GROUP BY 子句按照 name 进行分组,而 HAVING 子句则用于筛选出同时包含两个 key 的 name。COUNT(DISTINCT key) 表示对每个分组中的唯一 key 数进行计数,如果计数结果等于 2,说明该 name 同时包含了两个 key。

请注意,上述示例是一种常见的查询方法,但具体实现方式可能因数据库类型和表结构而有所不同。确保根据你的实际情况进行适当的调整和修改。

0个回答默认排序 投票数排序
没有更多回答了~
请先登录
0
1
0
1