Så här långt funkar det: SQL = "SELECT * From yrke_info LEFT JOIN (yrke_koppling ON yrke_info.TaskID = yrke_koppling.Task) WHERE yrke_koppling.MemberID=" & Session("MemberID") SQL = "SELECT * From yrke_info WHERE yrke_info.TaskID = yrke_koppling.Task AND yrke_koppling.MemberID=" & Session("MemberID") Det blir samma problem. Jag vill få ut alla poster från yrke_info som innehåller TaskID och Yrke vilket är en lista på alla yrken. yrke_koppling innehåller ID, memberID och Task. Det kopplar alltså vilka yrken som en användare valt. Jag tror jag förstår vad du vill göra. Lista alla yrken men även ta reda på vilka användaren valt. Då tror jag det är enklare att använda en underfråga. Vilket inte kommer på verka urvalet. UTan ta med alla poster från yrke_info. Fältet Selected anger om användaren har valt yrket: Problem med LEFT JOIN
SQL = "SELECT * From yrke_info LEFT JOIN yrke_koppling ON yrke_info.TaskID = yrke_koppling.Task
Trixet är att jag behöver lägga till
WHERE yrke_koppling.MemberID=" & Session("MemberID")
i satsen. Detta pga att yrke_koppling innehåller kopplingen för alla användare.
När jag gör det så gäller den where-satsen för resultatet av left join. Jag vill att where-satsen ska räknas ut före left join görs.
Har någon en bra idé?Sv: Problem med LEFT JOIN
Har du provat med paranteser på detta eller liknade sätt?Sv: Problem med LEFT JOIN
Denna kanske funkar istället?Sv: Problem med LEFT JOIN
När man använder satsen du skickade så visas bara de yrken som användaren har valt. Jag vill alltså ha ut alla men kunna använda yrke_koppling.Task till att visa vilka användaren har valt.Sv: Problem med LEFT JOIN
<code>
SQL = "SELECT *, yrke_info.TaskID IN (SELECT yrke_koppling.Task" & vbCrLf & _
" FROM yrke_koppling" & vbCrLf & _
" WHERE yrke_koppling.MemberID=" & Session("MemberID") & ") As Selected" & vbCrLf & _
"FROM yrke_info
</code>