i trying select 2 (comma separated) items, 1 "cuisines" , other 1 "facilities" 4 tables in mysql.
this how tried it:
$query = "select group_concat(distinct c.name separator ', ') cuisines, group_concat(distinct f.name separator ', ') facilities cuisines c, facilities f inner join restaurant_cuisines rc on rc.cuisine_id = c.id inner join restaurant_facilities rf on rf.facility_id = f.id rc.restaurant_id = 16 , rf.restaurant_id = 16"; but query not working. if use 2 separate query 2 selection can work. looking solution in single query.
this output if use 2 separate query:
mysql> select group_concat(distinct c.name separator ', ') cuisines -> cuisines c -> inner join restaurant_cuisines rc on rc.cuisine_id = c.id -> rc.restaurant_id = 15; +-----------------------------------------+ | cuisines | +-----------------------------------------+ | american, asian, bars & pubs, beverages | +-----------------------------------------+ 1 row in set (0.14 sec) can tell me possible in mysql?
thank you.
don't mix , , inner join notation in clause 2 separate standards (ansi vs non-ansi) compiler has pick , use one, can't use both. in other words...
from cuisines c, <-- isn't allowed inner join syntax.. facilities f inner join restaurant_cuisines rc on rc.cuisine_id = c.id inner join restaurant_facilities rf on rf.facility_id = f.id i've altered order of joins cuisines --> restraunt_cusines-->restraunt_facilities-->facility. believe accurate based on notation , joins. i've eliminated 1 of clause criteria redundant based on joins created.
select group_concat(distinct c.name separator ', ') cuisines, group_concat(distinct f.name separator ', ') facilities cuisines c inner join restaurant_cuisines rc on rc.cuisine_id = c.id inner join restaurant_facilities rf on rc.restraunt_id = rf.restraunt_id inner join facilities f on rf.facility_id = f.id rc.restaurant_id = 16; or
select group_concat(distinct c.name separator ', ') cuisines, group_concat(distinct f.name separator ', ') facilities cuisines c ,facilities f , restaurant_cuisines rc , restaurant_facilities rf rc.restaurant_id = 16 , rf.restaurant_id = 16 , rc.cuisine_id = c.id , rf.facility_id = f.id however believe you're missing join between restaurant_cuisines , restaurant_facility, on restaurant_id allow eliminate of of 2 rc.restaurant_id = 16 , rf.restaurant_id = 16
Comments
Post a Comment