* Roger Davenport > I'm trying to do the impossible I think but what I'd like to do is join > two tables, using the "colname" results from "a" table to lookup a > column named "colname" in b... here we go.
I don't think you can do that, but... > suppose we have > > table a: > id colname > 0 price1 > 1 price2 > 2 price3 > > table b > item price1 price2 price3 > x 1.50 2.50 3.50 > y 2.50 3.50 4.50 > > what I'd like to do, is > > select b.`a.colname` from a, b where a.id=0 and b.item="x"; ...how do you know a.id=0? If you mean something like this: select b.`a.colname` from a, b where a.id=$id and b.item="$item"; ...why not determine the colname in the script, and use this: select b.$colname from b where b.item="$item"; Anyhow, if you really need to determine this in the query (per row), you could do it using a double if(): select if(@a=0, b.price1, if(@a=1, b.price2, b.price3)) as price from b where b.item="$item"; This statement selects price1 if @a=0, price2 if @a=1, otherwise price3. The field is named "price" in any case. (This is a illustration, pointless because @a is predefined.) Instead of "@a=0" and "@a=1" you would probably put in some other criteria, like "customer.discount_code in ('r1','r2','a1')" or "report.type='pricelist'". IF is very usefull, CASE is an alternative, both are described here: <URL: http://www.mysql.com/doc/C/o/Control_flow_functions.html > -- Roger --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php