In the last episode (Aug 02), Pascal Dlisle said:
> I try to figure out how to use a nested "SELECT" statement after the
> "IN" predicate.  For example, when I try this code, it doesn't return
> anything although it should:
> 
> SELECT book.IDLivre, aut.Prenom, aut.Nom FROM livre book,
> livreEcritPar ecr, auteur aut WHERE ecr.IDLivre = book.IDLivre AND
> aut.IDAuteur = ecr.IDAuteur AND book.IDLivre IN ("SELECT book.IDLivre
> FROM livre book, livreEcritPar ecr, auteur aut WHERE aut.Prenom like
> '%$firstName%' AND aut.Nom like '%$name%' AND ecr.IDAuteur =
> aut.IDAuteur AND book.IDLivre
> = ecr.IDLivre");
> 
> So, my question is the following:  How should I change syntax in
> order to make this bunch of code work?  I mean, under Oracle SQL,
> this syntax would be legal and work perfectly, so I'm confused how to
> solve my problem.

I doubt think it would work under Oracle either, since you quoted your
subselect.  Unless book.IDLivre is a varchar field with one of the
records containing the string "SELECT book.IDLivre ... = ecr.IDLivre",
of course.

Also make sure you're using MySQL 4.1.0, since that's the first version
that supports subselects.  If you're running something older, take a
look at http://www.mysql.com/doc/en/ANSI_diff_Sub-selects.html which
shows you how to rewrite most (not all) subqueries as joins.

-- 
        Dan Nelson
        [EMAIL PROTECTED]

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to