没有相交的 MariaDB 中的相交查询出错

Error in Intersect query in MariaDB without Intersect

我在 MARIADB language.This 中遇到此查询的问题 return 查询没有 return 任何内容,但此查询应该 return 一行。我该怎么做才能让它发挥作用?

`SELECT c.Raza, c.Nombre 
FROM caballos c JOIN caballodisciplina d 
ON c.Cod = d.Caballo 
WHERE d.Disciplina IN ('Salto fondo','Salto vertical') 
GROUP BY c.Raza, c.Nombre 
HAVING COUNT(DISTINCT c.Cod)=2`

表格如下:

查询应该 return 名称:Starlaight Raza:Andaluz

谢谢!

您的查询 returns 它应该是什么(无结果),因为您加入了 caballos.Cod 字段,并且您过滤了不同数量的 Cod 字段是 2。由于Cod 字段 sems 是 caballos table 的唯一标识符,它在连接条件中使用,每个组不能有超过 1 个不同的值。

您可以在筛选条件中使用 Disciplina 字段,因为只有 Disciplina 字段可以在结果集中的 2 个单独记录中具有不同的值:

HAVING COUNT(DISTINCT d.Disciplina)=2