SELECT navn, adresse, alder, [land].land_navn FROM [person] WHERE [person].land_id = [land_id]
Måske denne her, hvis man kigger lidt firkantet på hvor kolonnerne kommer fra. Er lidt rusten i SQL, skriv lige hvis der er noget som jeg har misforstået.
ldanielsen: Efter lorentsnv rettelser tror jeg den ville virke. Den sidste kan jeg ikke garantere for, ville bare på en måde vise at INNER JOIN ikke var en nødvendig faktor for at få løsningen til at virke.
subtile: Det er ikke min løsning du har brugt, ergo skal jeg ikke have points :-) Håber alle mand får en god dag.
SELECT navn, adresse, alder, (SELECT land.land_navn FROM land WHERE land.land_id = person.land_id) AS land_navn FROM person
Det er en subquery, men den er MEGET tungere at køre end et join. Join er måden, det er kernen i alle relationelle databaser.
Den sidste løsning du lavede 17/10-2005 14:37:11 vil retfærdigvis virke, men det er jo faktisk et INNER JOIN. Du bruger bare den "nemme" syntaks. Den kan jeg så ikke lide, den er ikke så præcis som den dr_chaos viser.
ldanielsen: Netop her beviser vi at mennesker er forskellige, og der er forskellige måder at opfatte hvad der er pænt/rigtigt/mest rigtig/mest elegant/indsæt eget ord.
Du kan bedst lide at man viser INNER JOIN/OUTER JOIN, hvor jeg der imod synes det er pænest at holde sig til = tegnet. Jeg er enig med dig at en subquery ikke er løsningen, og man skal holde sig til relationer i sin database, som du så perfekt beskriver det.
Jeg håber ikke jeg har trådt nogen over tæerne, jeg ville bare efter dr_chaos indlæg, hvor jeg så hans geniale "p.* mulighed(havde 100% svedt ud at man kunne gøre det så nemt ved at vælge hele indholdet af person tabellen), vise at det ikke var nødvendigt med INNER JOIN.
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.