webForumDet fria alternativet

INNER JOIN om innehåll är samma

Databaser & SQL

3 svar · 164 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1
SELECT staffinfo.ID As StaffID, staffinfo.*, settings_office.* 
FROM staffinfo 
INNER JOIN settings_office ON staffinfo.Office_Location = settings_office.Office_Location 
WHERE Firstname LIKE 'Mattias%'

Denna fråga visar alla träffar ur tabell "staffinfo" där Firstname = Mattias. Jag joinar även in informationen ur tabellen "office_location"...

MEN.. tydligen visar denna fråga bara träffar när "staffinfo.Office_Location" är lika med "settings_office.Office_Location" vilket inte är vad jag vill.

Jag vill alltid visa resultatet av sökningen i "staffinfo" men då "staffinfo.Office_Location" är lika med "settings_office.Office_Location" vill jag joina dessa.

Är det någon som förstår vad jag är ute efter [ha ha] :P
Please, help me....
Mvh

Medlem sedan dec. 200012 464 inlägg
#2

Ja visst, din beskrivning är glasklar, typen badrumsfönster ;)

SELECT staffinfo.ID As StaffID, staffinfo.*, settings_office.* 
FROM staffinfo 
left outer JOIN settings_office ON staffinfo.Office_Location = settings_office.Office_Location 
WHERE Firstname LIKE 'Mattias%'
Medlem sedan maj 20012 080 inlägg
#3

Coolness, vad är det för skillnad på Inner Join och Outer Join?

Medlem sedan dec. 200012 464 inlägg
#4

Det är väl ungefär det du beskrev eller ...

Left outer join innebär att man får alla poster från den vänstra tabellen. I de poster där det inte finns något matchande värde i den högra tabellen så får man null i den högra tabellens kolumner. Annars så fungerar det som en vanlig join.

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)