Hur ser ungefär en dubbel "Inner join" ut?

Databaser & SQL

8 svar · 223 visningar · startad av Lukaspojken

Medlem sedan maj 20011 312 inlägg
Trådstart#1

Jag sitter här och klurar på hur tre tabeller kan kopplas ihop med varandra. Är det någon som har ett enkelt förslag eller lönar det kanske med att göra en inner join, och därefter hämta hela den tredje tabellen och matcha ihop det sen i form av en if-sats.

Medlem sedan juni 200032 967 inlägg
#2

Jag tror att du kan hitta massor med dubbeljoiner i SQL-forumet.

Mvh,

Medlem sedan feb. 20012 412 inlägg
#3
SELECT * FROM Table1 
INNER JOIN table2 
ON tabell1.fält = tabell2.fält
INNER JOIN Table3 
ON tabell2.fält2 = Table3.fält

mvh Jörgen :)

Medlem sedan juni 20008 205 inlägg
#4

Eller om man tycker att det ser fräckare ut:

SELECT * FROM foo, bar, baz
WHERE foo.fält1 = bar.fält2
AND bar.fält3 = baz.fält4
Medlem sedan juli 20003 825 inlägg
#5

2 frågor:

1, INNER JOIN
Hur skriver jag?

SQL = "SELECT * FROM [order]" _
& " INNER JOIN [job] ON order.x_jobID = job.x_ID "_
& " INNER JOIN [users] ON job.x_userID = users.x_ID"

---

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'order.x_jobID = job.x_ID INNER JOIN [users] ON job.x_userID = users.x_ID'.

/admin/new_jobs/index.asp, line 58

Det fanns i skrivande stund inga poster som uppfyllde kreteriet men det borde inte generera ett felmeddelande. Så blir det även i framtinen.

2, Access
Man kan skapa frågor i Access (det har jag gjort) och sedan trycka på en knapp eller välja ett menyval för att sedan kunna klistra in koden på asp sidan.

Vilken var knappen eller vad heter menyvalet?? Jag minns ej och jag har letat och kollat hjälpen, jag lovar! :-)

Medlem sedan dec. 200012 464 inlägg
#6
SQL = "SELECT * FROM ([order]" _
& " INNER JOIN [job] ON order.x_jobID = job.x_ID )"_
& " INNER JOIN [users] ON job.x_userID = users.x_ID"
Medlem sedan juli 20003 825 inlägg
#7

Tack! Funka grejt!

[job]
x_ID
x_userID
x_competenceID - typ av uppdrag

	SQL = "SELECT * FROM ([job]" _
	& " INNER JOIN [users] ON job.x_userID = users.x_ID )"_
	& " INNER JOIN [competence] ON job.x_competenceID = competence.x_ID WHERE job.x_ID = " & request("ID") & ";"

?? Jag har inte riktigt fått kläm på det där med inner och left. Det kommer! :-)

Medlem sedan juli 20003 825 inlägg
#8

Mera frågor på samma tema

	SQL = "SELECT * FROM ([job]" _
	& " INNER JOIN [users] ON job.x_userID = users.x_ID )"_
	& " INNER JOIN [competence] ON job.x_competenceID = competence.x_ID " _
	[b]& " INNER JOIN [orderX] ON job.x_ID = orderX.x_jobID " _ [/b]
	& " WHERE job.x_ID = " & request("ID") & ";"

Jag tänkte jag skulle haka på ytterligare en tabell på frågan men det var lättare sagt än gjort! Hur gör man för att synca tre tabeller!?

Medlem sedan dec. 200012 464 inlägg
#9

Lite mer parenteser

SQL = "SELECT * FROM (([job]" _
& " INNER JOIN [users] ON job.x_userID = users.x_ID )"_
& " INNER JOIN [competence] ON job.x_competenceID = competence.x_ID) " _
& " INNER JOIN [orderX] ON job.x_ID = orderX.x_jobID " _ 
& " WHERE job.x_ID = " & request("ID")
252 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)