Hi,
User
UserId, Username, ...
Tasks
TaskId, TaskName, LanguageId, ...
Languages
LanguageId, Language, ...
und zwei Verknüfungstabellen:
UserLanguages
UserId, LanguageId, ...
UserTasks
UserId, TaskId, Status
SELECT UserLanguages.UserId, Languages.Language, Tasks.TaskId FROM UserLanguages Left Join Tasks on UserLanguages.LanguageId=Tasks.LanguageId Left join Languages on Tasks.LanguageId=Languages.LanguageId left join [hier muss die Tabelle UserTasks hinein] where UserLanguages.UserId=VARIABLE
Hm. Ausgehend von den UserLanguages gibt es mehrere Wege zu den Usertasks.
UserLanguages.userId -> UserTasks.userId
UserLanguages.taskId -> Tasks.taskId -> Usertasks.taskId
Welcher Weg davon der Richtige ist, kannst nur Du beurteilen.
Einen Subselect sehe ich hier nicht. LEFT JOIN scheint mir ausreichend.
Aber wie gesagt, wirklich beurteilen kannst das nur Du - Deine Beschreibung ist mir zu wirr ...
cu,
Andreas a/k/a MudGuard