Hello everybody, I have a next problem to get a query working.
I have some tables. A User has Phone numbers and Calls associated with each phone. # Example: All the calls of the user number 1 SELECT Call.* FROM User, Phone, Call WHERE Phone.User=1 AND Call.Phone=Phone.PhoneNumber A User has also an agenda with ContactGroups an Contacts, where the contact has also a phone number. #Al the contacts for the user 1 SELECT Contact.* FROM User, ContactGroup, Contact WHERE ContactGroup.User=1 AND Contact.ContactGroup=ContactGroup.ContactGroupId What I want to retrieve is a list with all the calls, but with the contact associated to the called number (if that contact exists) or a text showing that the call is no assigned to a contact. I have tried something like this: SELECT IFNULL(Contact.Name, 'Not Assigned'), Call.* FROM User, Phone, Call LEFT JOIN ContactGroup ON ContactGroup.User=1 LEFT JOIN Contact ON Contact.ContactGroup=ContactGroup.ContactGroupId WHERE (Contact.PhoneNumber=Call.CalledNumber OR Contact.PhoneNumber IS NULL) AND Phone.User=1 AND Call.Phone=Phone.PhoneNumber It works with calls that have the called number in the user contact list, but the query repeat the calls for each group that don't have received calls (the effect of the "OR Contact.PhoneNumber IS NULL"). I don't know if I'm missing something or this cannot be done with MySql. I think that this could be done with a Temp table, but I need to do it in only a query. Any idea about how to do it? Regards Javier *Note: The tables are simplified because they were named in Spanish and there were more tables used to filter the calls, but they are not related with my problem --------------------------------------------------------------------- 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