我有2个表:circuit(id_circuit,distance)和circuit_langue(id_circuit_language,#id_circuit,语言,标题)。 我想获取具有两种以上语言的电路列表。
答案 0 :(得分:1)
不需要join
:
select cl.id_circuit
from circuit_langue cl
group by cl.id_circuit
having count(*) >= 3;
这假定表中没有重复项。如果有,那么您要使用count(distinct language) >= 3
。
答案 1 :(得分:0)
您需要将group by
与having
一起使用,例如:
select c.id_circuit, count(cl.id_curcuit_language) as RecCount
from circuit c
inner join circuit_langue cl on c.id_circuit = cl.#id_circuit
group by c.id_circuit
having count(cl.id_curcuit_language) > 2
答案 2 :(得分:0)
您可以尝试以下(oracle风格):
select circuit.*
from circuit,
(select id_circuit
from circuit_langue
group by id_circuit
having count(*) >2 ) lang
where circuit.id_circuit = lang.id_circuit;
此查询为您提供Circuits表中的整行,因此您可以访问任何列。另一方面,如果只需要“ id_circuit”列,那么Gordon Linoff的答案是最好的。