我在IBM DB2数据库中有一对多关系。我无法想出一种方法来描述我在文字中做的很容易,所以我要链接一个SQLFiddle。
这是一个关于我正在做什么的工作SQLFiddle; Click Here
SQLFiddle的工作方式与我需要的完全相同。我的问题是,我使用的是IBM DB2数据库,而COUNT函数似乎不起作用。有没有人有办法以IBM DB2兼容的方式返回SQLFiddle所做的事情?
这是我从i Navigator获得的错误; Click Here
答案 0 :(得分:1)
您正在通过错误的列聚合。我想这是你想要的查询:
SELECT Table1.quote, COUNT(Table2.quote) as TotalItem
FROM Table1 LEFT JOIN
Table2
ON Table1.quote = Table2.quote
GROUP BY Table1.quote
---------^
您需要按Table1.quote
进行汇总,因为Table2.quote
可能是NULL
,因为LEFT JOIN
。
编辑:
您的特定问题似乎是您有两个具有相同名称的表。只需使用列别名:
SELECT t1.quote, COUNT(t2.quote) as TotalItem
FROM Table1 t1 LEFT JOIN
Table2 t2
ON t1.quote = t2.quote
GROUP BY t1.quote;