16. marts 2003 - 17:29Der er
9 kommentarer og 2 løsninger
outer join
hvad er syntaksen, når man i acces skal lave en full outer join. Den accepterer right outer join og left outer join, men ikke full, natural eller blot outer! Kan det skyldes de parametre de skal joine på?
In the query builder add the tables you want and then drag and drop the fields which are related. Now you should have a thin line (realationship) between th etwo fields . If you right click th ethin line you can alter the INNER JOIN to a LEFT OUTER or RIGHT OUTER but not a FULL OUTER
Hvordan kan man ellers løse følgende problem: jeg ønsker alle værdierne fra én tabel, og fra en anden tabel ønsker jeg de værdier der optræder i den første tabel. De steder (i tabel to) der ikke optræder i tabel 1 skal bare være null! Dette kan jeg løse med en left outer join, men problemet er, at jeg gerne vil tælle hvor mange gange værdierne fra tabel to passer med tabel et. Dette kan jeg ikke med en left join!
Select felt1, felt2 from tabel1 LEFT JOIN tabel2 on tabel1.felt3 = tabel2.felt3 Union Select felt1, felt2 from tabel1 RIGHT JOIN tabel2 on tabel1.felt3 = tabel2.felt3
Det er faktisk ret nemt - bare vælg begge tabeller og alle værdier fra dem i designeren, eller lav et udtræk i stil med: Select t1.*, t2.* from Tabel1 T1, Tabel2 T2
jesperthomsen > Dit udtræk vil jo ikke have samme struktur som et ægte full outer join...
Fra msdn kan tilføjes...:
outer join A join in which each matching record from two tables is combined into one record in the query's results. When a record from the table that's contributing all of its records can't be matched with a record from the other table, the record still appears in the results of the query, view, or stored procedure; however, the cells that had no matching record in the other table are empty. You can create three variations of an outer join to specify the unmatched rows to be included: left outer joins and right outer joins are in Microsoft Access databases and Microsoft Access projects; full outer joins are only in Access projects.
To tabel navne i FROM er ikke en join, men et Cartesian Product. Tilføjes en betingelse i WHERE, kan man dog på visse måde få et resultat der miner om en join. Problemer er bare at sito gerne ville have vist Null værdier, og det får man med en JOIN. Ønsker man at kombinere med en UNION skal man være opmærksom på at en UNION eliminere dubletter (bags --> sets), og værdierne vises dermed kun én gang i resultatet
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.