PplelkesMedlem sedan mars 2002823 inlägg Skulle behöva lite förklaring/klarläggande.
Jag ahr försökt leta härpåwf, och även läst PDahlen´s inlägg men inte blivit klok:
När skallman egan vända INNER JOIN och vilka fördelar har det?
Om jag fattat rättsåär detom jag hämtar data från flera tabeller...
Men:
här hämtar jag från 3 utan INNER JOIN
strSQL1 =" SELECT tblFluids.FluidID, FluidNamn, typeNamn FROM tblFluidRelat, tblFluids, tblFluidTypes WHERE tblFluidRelat.FluidID = tblFluids.FluidID AND tblFluidRelat.typeID = tblFluidTypes.typeID ORDER by tblFluidTypes.typeNamn"
Här nedan fick jag inte till utan fick hjälp -och då blev det inner join
strSQL = "SELECT f.FluidNamn, f.FluidID, v.Dag, v.PatID, v.Volym, v.Energi," &_
" p.ftEnamn, p.ftFnamn FROM (tblVetskebalans v INNER JOIN tblFluids f"&_
" ON v.FluidID = f.FluidID) INNER JOIN tblPersonuppgifter p ON v.PatID = p.PatID" &_
" WHERE p.PatID = "& pat &" ORDER BY v.dag"
Tilläggas kan att ajg använder access 2000
PDahlenMedlem sedan apr. 2004778 inläggDet du gör i din första SQL-sats är en JOIN, men du använder WHERE och AND istället. Men resultatet är detsamma.
Förderlarna med JOIN är särskilt när du gör en OUTER JOIN vilket tillåter att värden returneras även när en relation saknas i en tabell.
Med INNER JOIN och så som du skrivit i första så får du inget resultat om inte relationen för alla tre tabellerna returnarer något. Med en OUTER får du NULL i den kolumn som saknas.
Det är svårare att förstå hur JOIN fungerar än WHERE AND så kör på med det till att börja med. Om du alltid har data i alla tre tabellerna så behöver du inte använda JOIN.