Jag försöker få ut alla skills från tabellen T_pp_skill_list och joina in alla skill_level från T_pp_skill_connections där staff_id = 97
T_pp_skill_list
----------------
ID | skill_group | skill |
1 | Web | Webdesign
2 | Web | HTML
3 | Other | CSS
4 | Test | Korvkokning
T_pp_skill_connections
----------------
ID | staff_id | skill_id | skill_level | updated_date
1 | 97 | 2 | 5 | 2006-04-05
2 | 14 | 2 | 2 | 2006-04-05
3 | 97 | 3 | 1 | 2006-04-05
sql = " SELECT * "
sql = sql & " FROM (T_pp_skill_connections "
sql = sql & " LEFT JOIN T_pp_skill_list ON "
sql = sql & " T_pp_skill_list.id = T_pp_skill_connections.skill_id)"
sql = sql & " WHERE staff_id = " &sStaffDbId
sql = sql & " ORDER BY T_pp_skill_list.skill_group"
Vill få ut alla skills + skill level där staff id = 97. Alla från skills tabellen ska visas. :
Web - Webdesign - 5
Web - HTML -
Other - CSS - 1
Test - Korvkokning -
Får inte till det och har nu mental härdsmälta. :o
@ndersMedlem sedan juni 200032 969 inlägg Prova att flytta villkoret från WHERE till JOIN-instruktionen.
Antog att man kunde göra något sådant. Det har jag dock aldrig tidigare gjort så jag kan inte syntaxen...
SELECT * FROM (T_pp_skill_connections LEFT JOIN T_pp_skill_list ON T_pp_skill_list.id = T_pp_skill_connections.skill_id WHERE staff_id = 499) ORDER BY T_pp_skill_list.skill_group
Ger mig:
Microsoft JET Database Engine error '80040e14'
Syntax error in JOIN operation.
OK... Är parantesen rätt ?
SELECT * FROM (T_pp_skill_connections LEFT JOIN T_pp_skill_list ON T_pp_skill_list.id = T_pp_skill_connections.skill_id AND staff_id = 499) ORDER BY T_pp_skill_list.skill_group
Microsoft JET Database Engine error '80040e14'
Join expression not supported.
@ndersMedlem sedan juni 200032 969 inlägg Jag kände på mig att du skulle få det felmeddelandet.
Äckliga, äckliga Access.
Detta har vi diskuterat ett antal gånger, sök lite på felmeddelandet och den svenska motsvarigheten (kopplingsuttryck borde vara ett bra sökord.)
Ok, tack för assistansen. :)
Funderar på att lösa det med flertalet sql anrop i min loop. Den är inte så lång.
Men det är nog inte en så snygg lösning.
Söker...