需要查询来确定两个车型共享的车型名称

时间:2017-03-19 15:05:24

标签: sql sql-server

我有一个包含字段make和model的简单表格。

我正在试图找出一个查询,告诉我何时我有一个由超过1个make共享的模型。也就是说,如果福特和吉姆都制造了一个名为“火箭”的汽车模型,我想知道这一点。

我正在使用Sql Server,但我认为这不重要。

我做了一个疯狂的猜测当然不对。

select make,
   model
group by make,
     model
where count(MODEL) > 2

1 个答案:

答案 0 :(得分:1)

即将结束,如果表格make包含多个model,那么modelmake就会有t make唯一对modelselect make, model from t where model in ( select model from t group by model having count(*) > 1 )

make

如果modelcount(distinct make)不是表的唯一对,则可以使用select make, model from t where model in ( select model from t group by model having count(distinct make) > 1 ) 代替:

exists()

你也可以使用select make, model from t where exists ( select 1 from t as i where i.model=t.model and i.make<>t.make ) 查询而不是执行聚合,如下所示:

{{1}}