Sql 连接两个表时,计数太高

Sql 连接两个表时,计数太高,sql,Sql,我正在学习如何在SQL中连接和计算表,但我遇到了一些困难。每当我加入谈判桌时,计数就会飙升,而这本不应该放在首位 select foo.parts as foo_parts, count(foo.colours) from bar, foo group by foo.parts; bar表应该稍后使用“having”来比较“foo.bar”,但我正在首先修复此部分。您可能缺少join子句 SELECT bar.id, foo.parts as foo_parts, count(foo.co

我正在学习如何在SQL中连接和计算表,但我遇到了一些困难。每当我加入谈判桌时,计数就会飙升,而这本不应该放在首位

select foo.parts as foo_parts, count(foo.colours) 
from  bar, foo
group by foo.parts;

bar表应该稍后使用“having”来比较“foo.bar”,但我正在首先修复此部分。

您可能缺少
join
子句

SELECT bar.id, foo.parts as foo_parts, count(foo.colours) 
FROM  bar 
JOIN  foo
  ON  bar.id = foo.id
group by bar.id, foo.parts;

您可能缺少
join
子句

SELECT bar.id, foo.parts as foo_parts, count(foo.colours) 
FROM  bar 
JOIN  foo
  ON  bar.id = foo.id
group by bar.id, foo.parts;

您可能缺少
join
子句

SELECT bar.id, foo.parts as foo_parts, count(foo.colours) 
FROM  bar 
JOIN  foo
  ON  bar.id = foo.id
group by bar.id, foo.parts;

您可能缺少
join
子句

SELECT bar.id, foo.parts as foo_parts, count(foo.colours) 
FROM  bar 
JOIN  foo
  ON  bar.id = foo.id
group by bar.id, foo.parts;

你在这个问题上缺少很多信息(比如有多少行,预期的数量等等)。但是语法

from bar,foo

创建笛卡尔积,这意味着您可以得到两个表中的每一行组合。它将bar中的每一行与foo中的每一行结合起来

因此,预期的计数是count(bar)*count(foo)


这在实践中是非常罕见的。你可能正在寻找一个像胡安建议的条件连接

问题中缺少很多信息(如行数、预期计数等)。但是语法

from bar,foo

创建笛卡尔积,这意味着您可以得到两个表中的每一行组合。它将bar中的每一行与foo中的每一行结合起来

因此,预期的计数是count(bar)*count(foo)


这在实践中是非常罕见的。你可能正在寻找一个像胡安建议的条件连接

问题中缺少很多信息(如行数、预期计数等)。但是语法

from bar,foo

创建笛卡尔积,这意味着您可以得到两个表中的每一行组合。它将bar中的每一行与foo中的每一行结合起来

因此,预期的计数是count(bar)*count(foo)


这在实践中是非常罕见的。你可能正在寻找一个像胡安建议的条件连接

问题中缺少很多信息(如行数、预期计数等)。但是语法

from bar,foo

创建笛卡尔积,这意味着您可以得到两个表中的每一行组合。它将bar中的每一行与foo中的每一行结合起来

因此,预期的计数是count(bar)*count(foo)


这在实践中是非常罕见的。你可能正在寻找一个像胡安建议的条件连接

显示您的模式。bar和foo表的结构是什么?这是一个跨联接的结构,也是您永远不应该使用隐式联接的主要原因之一。请停止使用20多年前被取代的技术。显示您的模式。bar和foo表的结构是什么?这是一个跨联接的结构,也是您永远不应该使用隐式联接的主要原因之一。请停止使用20多年前被取代的技术。显示您的模式。bar和foo表的结构是什么?这是一个跨联接的结构,也是您永远不应该使用隐式联接的主要原因之一。请停止使用20多年前被取代的技术。显示您的模式。bar和foo表的结构是什么?这是一个跨联接的结构,也是您永远不应该使用隐式联接的主要原因之一。请停止使用20多年前被取代的这种技术。