/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Hjælp til join
Fra : Mikkel Z. Herold


Dato : 05-04-05 09:17

Hej.

Jeg har ikke en dyt forstand på at joine, så jeg håber nogen vil hjælpe
mig med dette her:

Jeg har to tables, "vejledere" og "phder", og hver table indeholder
bl.a. felterne "fornavn", "efternavn" og "mail".

Nu vil jeg gerne have lavet en samlet liste med fornavn, efternavn og
mailadresse der indeholder 1) alle records i "vejledere" og 2) de
records i "phder" hvor feltet "timestamp_indtil" er større end en
variabel, $now.

Hvordan skal det gøres?

Mvh.

Mikkel

--
"At first just a rustle of canvas
And the gentlest breath on my face
But a galloping line of white horses
Said that soon we were in for a race"
Sting - The Wild Wild Sea

http://www.mzh.dk

 
 
Troels Arvin (05-04-2005)
Kommentar
Fra : Troels Arvin


Dato : 05-04-05 09:22

On Tue, 05 Apr 2005 10:16:51 +0200, Mikkel Z. Herold wrote:

> Nu vil jeg gerne have lavet en samlet liste med fornavn, efternavn og
> mailadresse der indeholder 1) alle records i "vejledere" og 2) de records
> i "phder" hvor feltet "timestamp_indtil" er større end en variabel, $now.

Det lyder mere som om, du skal benytte en UNION; i modsat fald: Hvordan
ser dine tabeller mere nøjagtigt ud?

Følgende utestede SQL kan du måske tage udgangspunkt i:

SELECT fornavn,efternavn,mail
FROM vejledere
UNION
SELECT fornavn,efternavn,mail
FROM phder
WHERE timestamp_indtil > LOCALTIMESTAMP

--
Greetings from Troels Arvin, Copenhagen, Denmark


Mikkel Z. Herold (05-04-2005)
Kommentar
Fra : Mikkel Z. Herold


Dato : 05-04-05 11:54

On 05-04-2005 10:22 Troels Arvin wrote:
> Det lyder mere som om, du skal benytte en UNION;

Ja, det ser rigtigt ud - bortset fra, at jeg kun har MySQL 3.xx til
rådighed, så den går ikke alligevel...

Til gengæld løste jeg problemet ud fra brugerkommentar #2 på
http://dev.mysql.com/doc/mysql/en/union.html sådan her:

mysql_query('CREATE TEMPORARY TABLE temp_union TYPE=HEAP SELECT fornavn,
efternavn, mail FROM vejledere', $conn);
mysql_query('INSERT INTO temp_union SELECT fornavn, efternavn, mail FROM
phder WHERE timestamp_indtil > '.$now, $conn);
$sql = "SELECT * FROM temp_union";

Mvh.

Mikkel

--
"At first just a rustle of canvas
And the gentlest breath on my face
But a galloping line of white horses
Said that soon we were in for a race"
Sting - The Wild Wild Sea

http://www.mzh.dk

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408188
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste