sql >> Database teknologi >  >> RDS >> Oracle

Forespørgsel om flere tabeller i Oracle SQL plus 11g

Prøv dette:

select m.schoolcode, m.schoolname, sum(e.c1+e.c2+e.c3+e.c4), sum(c.rooms) from dise2k_enrolment09 e, dise2k_master m ,dise2k_clsbycondition c where m.schoolcode=e.schoolcode and m.schoolcode=c.schoolcode and e.year='2011-12' and m.year='2011-12' and c.year='2011-12' and c.classid in(1,2,3,4) and e.classname = c.classid group by m.schoolcode, m.schoolname

Sådan har du det:and e.classname in(1,2,3,4) er som at have en OR operatør i din where-klausul.

(c.classid=1 or c.classid=2 or c.classid=3 or c.classid=4) 
and 
(e.classname=1 or e.classname=2 or e.classname=3 or e.classname=4)
 

Så c.classid kan være "1" og e.classname kan være "2", hvilket er forkert

OPDATERING Jeg tror stadig, at problemet er, at du ikke forbinder c.classid med e.classname

Prøv det sådan her:

select m.schoolcode, m.schoolname, sum(e.c1+e.c2+e.c3+e.c4), sum(c.rooms) from dise2k_enrolment09 e, dise2k_master m ,dise2k_clsbycondition c where m.schoolcode=e.schoolcode and m.schoolcode=c.schoolcode and e.year='2011-12' and m.year='2011-12' and c.year='2011-12' and c.classid in(1,2,3,4) and c.classid = decode(e.classname,1,7,2,7,3,8,4,8,5,9,6,9,7,10,8,10) group by m.schoolcode, m.schoolname

  1. Metoden getColumnName i ResultSetMeta kan ikke returnere højre kolonnenavn (jdbc)

  2. Triggere:hvordan kan jeg initialisere værdien på en tabel med en værdi på en anden?

  3. The Performance Tuning Maze

  4. Importerer csv-fil med null-værdier til phpmyadmin