0
我想从两个表中获得结果,这两个表按照一个选择中的相同规则分组在一起。连接来自两个sql表的结果
我有表1
create table person AS
id INTEGER,
gender INTEGER,
state VARCHAR2
name VARCHAR2
surname VARCHAR2
表2
create table sampletest as
person_id FOREIGN KEY To person.id
result INTEGER
表3
create table examtest as
person_id FOREIGN KEY to person.id
examresult INTEGER
我谨状态得到这个输出
组|按性别分组|计数(检验> 0)|数(结果> 0,并导致< 4)
我想是这样的
select state,gender,count(e.examresult),count(s.result) where
p.id=s.person_id and p.id=e.person_id and
s.result>0 and s.result<4 and
e.examresult>0 group by state,gender
,但我得到的结果依赖于对方。我如何获得独立的结果到一个选择?
你能帮助更多一点,我需要状态数0,即不要有e.examresult由0,1,2,3,4分组性别,5 – damir 2010-11-18 19:22:57
从性能角度来看,相关子查询是一个糟糕的解决方案。这绝不应该是你的第一选择。 – HLGEM 2010-11-18 21:44:52
我写这样的查询,有时长达数百行,而且他们通常胜过其他解决方案。这可能取决于您使用的数据库。使用Oracle时,经验法则是查询看起来越糟糕,通常执行得越好。但是,在其他答案中的左侧加入可能会很好,甚至更好。 – GolezTrol 2010-11-19 08:28:29