我绝对与SQL一个小白,我一直在破坏我的头写在PostgreSQL符合下表结构的复杂查询:查询与子查询数,内部连接和组
CREATE TABLE reports
(
reportid character varying(20) NOT NULL,
userid integer NOT NULL,
reporttype character varying(40) NOT NULL,
)
CREATE TABLE users
(
userid serial NOT NULL,
username character varying(20) NOT NULL,
)
目标的查询是为每个用户提取大量的报告类型并将其显示在一列中。有三种不同类型的报告。
用一个简单的查询组,通过将解决这个问题,但在不同的行显示出来:
select count(*) as Amount,
u.username,
r.reporttype
from reports r,
users u
where r.userid=u.userid
group by u.username,r.reporttype
order by u.username
你期待什么输出? – Ruben 2011-05-02 17:47:18
只有三种不同类型的报告:“类型1”,“类型2”,“类型3”,查询应该在一行中显示用户名,“类型1”报告的数量,“类型2”报告的数量以及“ type3“报告。对不起,混淆 – 2011-05-02 18:22:23
在你的例子中的查询中,你使用c.userid和c.reporttype,但是c来自哪里?您尚未创建任何名为c的别名或名为c的表。 – Ruben 2011-05-02 18:55:19