INNER JOIN finder alle de rækker i de to tabeller hvor der er sammenfald mellem tabel1.id og tabel2.tabel1id.
Du kan også benytte LEFT JOIN som finder alle rækker i tabel1 og evt. de rækker i tabel2 som har en reference tilbage til tabel1.id. RIGHT JOIN har så efter min bedste overbevisning den omvendte effekt, altså at den finder alle rækker i tabel2 og evt. de rækker i tabel1 hvor id har sammenfald med tabel2.tabel1id... jeg har dog ikke brugt RIGHT JOIN i særlig grad, så den er jeg lidt mere usikker på :)
Ja, det ser korrekt ud. Du kan også lave alias for dine tabeller (hvis du er lidt doven eller bare synes dine tabelnavne forringer overblikket over dine SQL-sætninger). Det kan gøres således:
SELECT id,sagsnummer,kunde,opgave,konsulent,status FROM casescontrol2001 AS c2k1 INNER JOIN casecontrol2001 AS c2k2 ON c2k1.id = c2k2.casecontrol2001id
Det afh. lidt af hvordan din database er skruet sameen, men under antagelse af at den nye tabel ref. tilbage til det foregående år, så kunne det være således:
SELECT id,sagsnummer,kunde,opgave,konsulent,status FROM (casescontrol2001 AS c2k1 INNER JOIN casecontrol2001 AS c2k2 ON c2k1.id = c2k2.casecontrol2001id) INNER JOIN casecontrol2003 AS c2k3 ON c2k2.id = c2k3.casecontrol2002id
Ups! Der har sneget sig en lille fejl ind i tabelnavnet for 2002 tabellen. Rettet herunder:
SELECT id,sagsnummer,kunde,opgave,konsulent,status FROM (casescontrol2001 AS c2k1 INNER JOIN casecontrol2002 AS c2k2 ON c2k1.id = c2k2.casecontrol2001id) INNER JOIN casecontrol2003 AS c2k3 ON c2k2.id = c2k3.casecontrol2002id
Jeg sidder med en anden kode på sitet idag, og vil gerne ha nedenstående kode til at kunne det samme som din fra igår? Har du et par min til overs???
<% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath ("../../db/suncms_pages.mdb") Conn.Open DSN strSQL = " SELECT * FROM (casescontrol2001 AS c2k1 INNER JOIN casecontrol2002 AS c2k2 ON c2k1.id = c2k2.casecontrol2001id) INNER JOIN casecontrol2003 AS c2k3 ON c2k2.id = c2k3.casecontrol2002id INNER JOIN casecontrol2004 AS c2k3 ON c2k2.id = c2k3.casecontrol2003id INNER JOIN casecontrol2005 AS c2k3 ON c2k2.id = c2k3.casecontrol2004id INNER JOIN casecontrol2006 AS c2k3 ON c2k2.id = c2k3.casecontrol2005id Where sagsnummer = " & Request.Querystring("CaseNumber") Set rs = Conn.Execute(strSQL) %>
Får en laaaang fejl :D
Håber du har tid...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.