Avatar billede axel21 Juniormester
11. marts 2008 - 17:52 Der er 8 kommentarer og
1 løsning

Hjælp til JOIN

Hey. Jeg har 2 tabeller i en MySQL database. En tabel med alle postnumre og en tabel med nogle personer der alle har et postnummer tilknyttet sig. Jeg vil gerne at når jeg skal trække personerne ud i på et excelark kan hente bynavnet samtidig, da dette jo ligger i tabellen med postnumre. Jeg har gjort et forsøg, med den kommer med en fejl: Not unique table/alias: 'postnumre'???

TABEL 1. postnumre

række 1: nummer (Primary key)
række 2: navn

TABEL 2. privatpersoner

række 1: id (Primary key)
række 2: navn
række 3: titel
række 4: adresse
række 5: postnr


PHP SCRIPT:

$rs = mysql_query("SELECT * FROM privatpersoner, postnumre INNER JOIN postnumre ON privatpersoner.postnr = postnumre.nummer") or die(mysql_error());

if(mysql_num_rows($rs)>0)
{
    header("Content-type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename=privatpersoner.xls");
   
        print "Privatpersoner\n";
    print "Navn\tTitel\tAdresse\tPostnr\tBy\n";
   
    while ($row = mysql_fetch_assoc($rs))
    {
        print $row['navn'] . "\t" . $row['titel'] . "\t" . $row['adresse'] . "\t" . $row['postnr'] . "\t" . $row['by'] . "\n";
    }

}
else
{
    echo 'Filen er tom';
}
?>

Hele pointen er selvfølgelig at trække postnummer og by ud på samme ark så det er nemt at sende breve til disse.
På forhånd tak...
Avatar billede sajbar Nybegynder
11. marts 2008 - 19:04 #1
SELECT * FROM privatpersoner, postnumre where privatpersoner.postnr = postnumre.nummer
Avatar billede nielle Nybegynder
11. marts 2008 - 20:07 #2
Rettelse af den originale:

$rs = mysql_query("SELECT * FROM privatpersoner INNER JOIN postnumre ON privatpersoner.postnr = postnumre.nummer") or die(mysql_error());
Avatar billede axel21 Juniormester
13. marts 2008 - 10:40 #3
Det virker fint, bortset fra at den indsætter by navnet på $row['navn'] pladsen, så jeg kan ikke skrive navnet ud nu?
Avatar billede sajbar Nybegynder
13. marts 2008 - 10:46 #4
så skift navnet i din postnr tabel til bynavn, ellers må du lave en

SELECT privatpersoner.*, postnumre.navn as bynavn FROM privatpersoner, postnumre where privatpersoner.postnr = postnumre.nummer
Avatar billede axel21 Juniormester
13. marts 2008 - 10:53 #5
Det virker jo skide godt. Smid et svar begge 2.
Avatar billede sajbar Nybegynder
13. marts 2008 - 10:59 #6
svar
Avatar billede nielle Nybegynder
13. marts 2008 - 18:23 #7
Det er godt nok ikke meget tid man får til at smide et svar!

Nå pyt, mon ikke jeg klare mig alligevel.
Avatar billede axel21 Juniormester
16. marts 2008 - 18:49 #8
Bare smid et svar nielle, så får du point
Avatar billede nielle Nybegynder
16. marts 2008 - 19:48 #9
Det er ikke muligt at smide noget svar mere ... spørgsmålet er lukket.

Men som sagt: Pyt med de point. :^)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester