2012-06-19 14 views

回答

0

你应该附上包含GROUP BY,而不是连接表中的一个,像这样的select语句:

SELECT t1.Id, .... 
FROM Table1 t1 
INNER JOIN 
(
    SELECT Id, COUNT(*) 
    FROM Table2 
    GROUP BY Id 
) t2 ON t1.Id = t2.Table1Id 
-2

这可以帮助你:

假设有两个表

1.student
(stud_id PK)
(branch_id FK)

2支
(branch_id PK) (城市varchar)

select * from student s,branch b where s.branch_id=b.branch_id group by b.city 
+1

这不会在SQL服务器(该问题被标记)中运行,因为select中的列不包含在组中,或者不属于聚合函数的一部分。同样值得注意的是,虽然它们并不正确,但隐式连接已过时20年(ANSI-92),显式连接(在我看来)更清晰,更灵活,并且有更小的错误范围(意外丢失一个连接子句)。 – GarethD