"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

nested query in mysql compatibles umbauen?

alexsb 21.06.2003 - 16:08 785 6
Posts

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Hi, gibts irgendeine chance folgendes SQL statement MySql kompatibel zu machen OHNE eine programmiersprache zu verwenden (php, jsp usw.)

6.4 Get title and year of release of Comedies where an actor played the mayor role who got more than two oscars.

SELECT Mtitle, Myear FROM movie WHERE Mid in (
SELECT Mid FROM actorXmovie WHERE Aid in (
SELECT Aid FROM actor WHERE Aoscar > 2)
AND Rid = (
SELECT Rid FROM role WHERE Rrole = ?actor?)
AND Gid = (
SELECT Gid from genre WHERE Ggenre = ?Comedy?));

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Kann man problemlos alles in inner joins verwandeln.

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Danke habs eh schon geschafft :)

SELECT m.Mtitle, m.Myear, m.Mdescription FROM movie m, actorXmovie am, actor a, genre g WHERE m.gid = g.gid AND g.Ggenre = 'Comedy' AND a.Aoscar > 2 AND a.Aid = am.Aid and am.Mid = m.Mid GROUP BY m.Mid;

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
nicht wirklich, den das obige statemnet hat ein in und das andere ein = , und ich habe geglaubt das das deswegen nicht geht.

ausserdem habe ich gedacht das man höchstens eine subquery umgehen kann, was natürlich nicht stimmt

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1088
Zitat von alexsb
Danke habs eh schon geschafft :)

SELECT m.Mtitle, m.Myear, m.Mdescription FROM movie m, actorXmovie am, actor a, genre g WHERE m.gid = g.gid AND g.Ggenre = 'Comedy' AND a.Aoscar > 2 AND a.Aid = am.Aid and am.Mid = m.Mid GROUP BY m.Mid;

mit LEFT JOIN bist ein bissal schneller dran ;)

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
ich schreibe auch immer table1.key = table2.key weil ich SQL auf/anhand einer Oracle DB gelernt habe ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz