webForumDet fria alternativet

Access 03: Select * + join where id = x

6 svar · 375 visningar · startad av Mattias Nordin

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#1

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
#2

Prova att flytta villkoret från WHERE till JOIN-instruktionen.

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#3

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.

@ndersMedlem sedan juni 200032 969 inlägg
#4

Inte WHERE, AND.

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#5

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
#6

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.)

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#7

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...

355 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
236 ms — hämta forumlista (db)
117 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)