The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Seems to be working OK except for one little part. The LEFT JOIN `user_sports` is filtering results when a user does not have any sports setup yet. So how do I say LEFT JOIN only when there are rows so I can search those rows for a specific sport?

That is what I'm trying to explain. Carl comes up, but Brian does not, since Brian does not have a sport. So what I'm trying to do is search the table of uses based on various criteria, so if a user searches for 'AL', it should pull up Carl and Brian, but since Brian does not have a user_sport record, he's filtered out. I'm trying to figure out how to include him in the results.

You should dynamically build the part of the query that contains the search criteria : if the user searches for all, don't add that part of the search. That way the left join will work as a left join, and extract also those users that don't have any data in the left joined tables.
As soon as you add a WHERE condition on a left joined table (other than IS NULL or IS NOT NULL), the left join becomes an inner join as far as the result is concerned.