我做这样的查询:在数据库表如何筛选分组查询结果集(SQL)
SELECT Code, kind, SUM(valP) AS value FROM transaction WHERE tp = 'N' and date = '20110312' GROUP BY Code,kind ORDER BY Code,kind;
,让我这个结果集:
+------+------+------+
| Code | kind| value|
+------+------+------+
| 1 | TR | 25,99|
| 1 | CT | 22,17|
| 2 | TR | 14,23|
| 3 | DD | 09,67|
| 3 | DD | 23,87|
| 3 | CT | 34,87|
+------+------+------+
代码代表交易代码,种类代表付款类型,价值代表付款的价值。
我想在结果集中包含仅包含类型='CT'的分组结果,但我想在同一个事务中包含其他支付类型,例如我尝试添加一个有到上查询:
SELECT Code, kind, SUM(valP) AS value FROM transaction WHERE tp = 'N' and date = '20110312' GROUP BY Code,kind HAVING kind = 'CT' ORDER BY Code,kind;
,但我得到这样的:
+------+------+------+
| Code | kind| value|
+------+------+------+
| 1 | CT | 22,17|
| 3 | CT | 34,87|
+------+------+------+
,而不是我想要检索是这样的:
+------+------+------+
| Code | kind| value|
+------+------+------+
| 1 | TR | 25,99|
| 1 | CT | 22,17|
| 3 | DD | 09,67|
| 3 | DD | 23,87|
| 3 | CT | 34,87|
+------+------+------+
CT类型的记录中的所有事务处理线有没有办法获取?
我该怎么办?
我实际上在SQL Server 2005上工作,但我可能需要在PostgreSQL中运行一个类似的查询。
感谢