Hej!! Hej En sak angående din fråga OK, det framgick lite otydligt. Det som inte fungerar rikrigt när databasen ser ut som den gör och jag ska koppla loss en dolly. Då ändrar jag dollyId i tblTrailer till noll, men då försvinner relationen o hela recordsetet försvinner. Jag är inte helt med på vad en dolly innebär, men jag gissar att en trailer kan ha flera dollys?SQL - Joins
Nu var det dags igen. Denne gången är det lite struktur på en databas och joins jag inte hänger med på riktigt. För att göra det så överskådligt som möjligt har jag lagt ut all infon på min hemsida. Där ser man hur det ska se ut men det funkar inte som jag vill riktigt.
www.webbuffe.biz/postakerietSv: SQL - Joins
Intressant att ingen svarat på detta inlägg, kan det betyda att vi behöver drilla mer normalisering av tabeller här kanske? :-)
Jag tycker att det ser bra ut. Du har ortid på 2 ställen men eftersom en trailer inte behöver finnas där dollyn finns så är detta ett måste. Rörande relationen så är det också rätt, nycklarna sitter där de skall. Du kan som jag sa placera trailer och dolly på olika platser, ta reda på vilken dolly som en trailer har osv.
Rörande SQL- (oavsett resultat) jag skulle nog använda alias för att göra koden tydligare att läsa. Och, om ett tabellnamn endast förekommer unikt så behöver du inget alias (dock ger det prestanda att skriva så, men tror inte anropen är så frekventa i detta fall)
<code>
SELECT t.TrailerId, TrailerNamn, OrtNamn, o.OrtId, t.DollyId, DollyNamn
FROM tblTrailer t, tblOrter o, tblDolly d
WHERE t.OrtId=o.OrtId
AND t.DollyId=d.DollyId
</code>
Det jag saknar är kopplingen för trailerid men eftersom du inte specificerat vad du vill få ut för information så är det svårt att svara på din fråga.Sv: SQL - Joins
Fråga 1 Är strukturen på tabellerna rätt?
Tabellen tblDollyD har du med termen TrailerID, varför ?
Finns inte denna inforamtion med i tabellen tblTrailer ?
Har du tänkt igenom varför du lagrar Ortnamn i en tabell och sedan har OrtID ?
Detta sparar troligen lite minne att inte ha ortens namn som nyckel men kräver koppling till tabellen tblOrter varje gång du behöver denna information.
Detta ger oftast onödiga joins vilka kräver mer datorkraft. I vissa fall kan detta var rätt men inte alltid.Sv: SQL - Joins
Jag tror jag får tänka om lite och eventuellt skapa en temp-tabell att lagra kopplingarna i. Eller om någon har ett bättre tips.
Uppdaterad www.webbuffe.biz/postakerietSv: SQL - Joins
Om så är fallet skulle jag ha skapat en tabell som sköter kopplingen mellan vilka dollys som finns på vilken trailer.
Typ:
fldID (räknare) fldTrailerID fldDollyID
1 1 13
2 1 66
3 2 8
4 2 9
5 3 16
osv..
Då är det inga större bekymmer att avgöra hur många/vilka dollys som finns på vilken trailer och så vidare.
Jag kan ju ha missuppfattat det hela totalt förstås. Isf: ignorera ovanstående. =)
Om man fick en beskrivning på vad en trailer ska "innehålla" osv så vore det lättare att ta ställning till vilka tabeller som behövs och relationerna mellan dem.
/M@gnus