在IBMDB2数据库中,我有两个表处于一对多关系中。我想不出一种方法来简单地用语言描述我正在做的事情,所以我链接了一个SQLFiddle。
下面是一个关于我正在做的事情的工作SQLFiddle;点击此处
SQLFiddle的工作原理和我需要的完全一样。我的问题是,我使用的是IBMDB2数据库,而COUNT函数似乎不起作用。有人能以兼容IBMDB2的方式返回SQLFiddle的功能吗?
这是我从I Navigator中得到的错误;单击此处
您正在按错误的列进行聚合。我想这就是你想要的查询:
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;