[BNM] mysql query quandary

Rob Curle robcurle at mac.com
Tue Dec 2 14:54:37 GMT 2008


hi everyone,

i'm having trouble trying to combine 2 mysql queries into 1.  i need  
to search a members list (by firstname, lastname, email, etc) and  
return the members details and primary address.  members can have  
several addresses stored in 2 tables for work and personal addresses,  
but only one will be marked as their primary address.
has anyone got any suggestions, maybe its possible with subqueries and  
unions, but i'm stumped!

heres a trimmed down version of the db schema: http://www.twelvenoon.co.uk/schema.html

// return work addresses

SELECT m.firstname, m.lastname, m.email, mia.department,  
i.institution_name, i.street, i.city, i.postcode, c.country_name
FROM members AS m
	LEFT OUTER JOIN membersInstitutionAddresses AS mia ON  
m.id=mia.member_id
	LEFT OUTER JOIN institutions AS i ON mia.institution_id=i.id
	LEFT OUTER JOIN countries AS c ON i.country_id=c.id
WHERE mia.primary_address=1


// return perasonal addresses

SELECT m.firstname, m.lastname, m.email, mpa.street, mpa.city,  
mpa.postcode, c.country_name
FROM members AS m
	LEFT OUTER JOIN membersPersonalAddresses AS mpa ON m.id=mpa.member_id
	LEFT OUTER JOIN countries AS c ON mpa.country_id=c.id
WHERE mpa.primary_address=1


cheers,

rob.








More information about the BNMlist mailing list. Powered by Wessex Networks