Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 14:46 Der er 18 kommentarer og
1 løsning

Simpel Join

Hvad er der galt i denne query? Er taget fra et PHP scritp..

Det første virker fint, men når jeg så vil have den til at lave en join hvor den tager companies.postcode og henter CityName fra tabellen _towns hvor _towns.postcode er ens, går det galt...
Nogen der kan hjælp
Avatar billede morw Nybegynder
31. oktober 2001 - 14:52 #1
Øh ja, hvis vi fik hele din query at se, samt fejl fra db - ellers bliver det sku nok lidt svært du. ;-D
Avatar billede disky Nybegynder
31. oktober 2001 - 14:52 #2
du kan jo starte med at poste den
Avatar billede morw Nybegynder
31. oktober 2001 - 14:54 #3
SELECT companies.postcode, _towns.CityName
FROM companies
LEFT JOIN _towns ON _towns.postcode = companies.postcode
Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 14:59 #4
nå, ja glemte at poste den ;-)
$show_profile = mysql_query(\"select companies.Name,Address,Postcode,Phone,Fax,WWW,Email from companies where 1 and CompanyKey=\'$key\'(select CityName from _towns where _towns.Postcode. = companies.Postcode\")
Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 15:03 #5
Rettelse:

Sådan ser den ud:
$show_profile = mysql_query(\"select companies.Name,Address,Postcode,Phone,Fax,WWW,Email from companies where 1 and CompanyKey=\'$key\'(select CityName as CityName from _towns where _towns.Postcode. = companies.Postcode\");

Fejl fra db:
Warning: Supplied argument is not a valid MySQL result resource in D:\\viskunde.php on line 10
Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 15:04 #6
Husk lige at fjerne punktummet efter [...] where _towns.Postcode>.< = [...]
Avatar billede morw Nybegynder
31. oktober 2001 - 15:12 #7
Det er en fejl fra php - ikke mysql

Brug or die(mysql_error());
Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 15:24 #8
Hvad skal kan man skrive istedet?
Avatar billede morw Nybegynder
31. oktober 2001 - 16:00 #9
$show_profile = mysql_query(\"select companies.Name,Address,Postcode,Phone,Fax,WWW,Email from companies where 1 and CompanyKey=\'$key\'(select CityName as CityName from _towns where _towns.Postcode = companies.Postcode\") or die(mysql_error());
Avatar billede morw Nybegynder
31. oktober 2001 - 16:01 #10
Hov, der er sku da noget helt galt med det du har skrevet: Der er en select midt i det hele
Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 16:37 #11
Så skriver den
You have an error in your SQL syntax near \'(CityName as CityName from _towns where _towns.Postcode = companies.Postcode\' at line 1
også selvom select er fjernet anden gang
Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 17:08 #12
er der ikke nogen der har nogle goder sider, hvor man lære det der join...

Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 18:00 #13
Har ændret min forespørgsel:

$show_profile = mysql_query(\"select companies.Name,Address,Postcode,Phone,Fax,WWW,Email from companies, towns, towns.Postcode where towns.Postcode = companies.Postcode\") or die(mysql_error());

Nu siger den at towns.Postcode ikke eksisterer, selvom jeg ved den gør!... Kan se den i phpMyAdmin med data og det hele, og jeg kan også hente data fra den, i andre forespørgelser!
Avatar billede pcmagasinet Nybegynder
31. oktober 2001 - 19:00 #14
Hallo!

Er der virkelig ingen der kan hjælpe med join kommandoer! Det er virkelig vigtigt!
Avatar billede morw Nybegynder
31. oktober 2001 - 22:37 #15
Hmm før hed den tabel _towns og ikke blot towns.

lav lige et dump af din db struktur og send den
Avatar billede morw Nybegynder
31. oktober 2001 - 22:41 #16
$sql_profile = \"SELECT
companies.Name,
companies.Address,
companies.Postcode,
companies.Phone,
companies.Fax,
companies.WWW,
companies.Email,
towns.Postcode
FROM companies
LEFT JOIN towns ON towns.Postcode = companies.Postcode\";

$show_profile = mysql_query($sql_profile) or die(mysql_error());

Check lige at dine små/store bogstaver samt navne er ok
Avatar billede pcmagasinet Nybegynder
01. november 2001 - 14:36 #17
ok... det virker faktisk nu... et vist stykke!

Det jeg skal bruger er at towns er en tabel med alle postnumre og bynavne i danmark. Bynavnet lægger ikke i companies, der lægger kun postnummeret...

Derfor skal jeg have den til at vælge feltet towns.City hvor towns.PostCode er lig med companies.Postcode. det gør den faktisk også nu, bortset fra den ikke vælger towns.City. Hvordan får jeg den til at vælge den?
Avatar billede pcmagasinet Nybegynder
01. november 2001 - 16:28 #18
har fundet ud af det!..

tak morw!
Avatar billede morw Nybegynder
01. november 2001 - 17:01 #19
U welcome
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
Computerworld tilbyder specialiserede kurser i database-management

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