* Henning Sprang > Now I want to create a query to get all task_id's which one given User > isn't already assigned to. I tried a lot of things, Joined in every > direction and so but do not come to my result.
The problem in this situation is that you want to join with records that are not there. I suppose you have no problem selecting the Tasks that _are_ assigned to a User. To find the non-existing records, you need to use LEFT JOIN. You use it like a normal JOIN, but a LEFT JOIN returns a row even if the associated record is not found, and fills all fields from that record with NULL. Because the non-existing records are what you want in this case, you add a ISNULL(Auth.user_id) to your WHERE clause: SELECT Task.task_id FROM Task,User LEFT JOIN Auth ON Auth.user_id=User.user_id AND Auth.task_id=Task.task_id WHERE ISNULL(Auth.user_id) AND User.username="roger"; -- 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