Samenvoegen van tabellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

14/11/2006 22:32:00
Quote Anchor link
Ik zit alweer met de code voor het samenvoegen van twee tabellen.
Dit blijft ingewikkeld.

Ik heb een tabel "linken" en een tabel "kliks".
Ik wil graag de best bezochte link laten zien.

Dit is de code die ik heb:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$queryTop
= "
SELECT
1.link_id,
1.link_naam,
1.link_website,
1.link_kadobon,
l.link_plaatje,
l.link_omschrijving,
l.link_prijs,
COUNT(k.datumtijd) AS aantal_kliks
FROM
kliks AS k
INNER JOIN
linken AS 1
ON
k.link_id = 1.link_id
WHERE
MONTH(k.datumtijd ) = MONTH( CURDATE( ) )
AND
YEAR(k.datumtijd ) = YEAR( CURDATE() )
GROUP BY 1.link_id
ORDER BY aantal_kliks DESC
LIMIT 0,2"
;
?>


En dit de foutmelding:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 ON k.link_id = l.link_id WHERE MONTH(k.datumtijd ) = MONTH( CURDATE( ) ) AND Y' at line 13

Dit zijn de tabellen:

Afbeelding

Afbeelding

ps. kom hier morgen op terug.
 
PHP hulp

PHP hulp

18/11/2024 22:47:13
 
Hipska BE

Hipska BE

14/11/2006 22:57:00
Quote Anchor link
Je selecteert de links toch? en niet de kliks, dit is beter:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
FROM
linken AS 1
JOIN
kliks AS k
ON
de JOIN is LEFT of RIGHT je ziet maar wat het best uitkomt
 
Jan Koehoorn

Jan Koehoorn

14/11/2006 22:59:00
Quote Anchor link
linken AS 1

Volgens mij mag een alias niet met een getal beginnen of een getal zijn.
 
Frank -

Frank -

14/11/2006 23:07:00
Quote Anchor link
Jan Koehoorn schreef op 14.11.2006 22:59:
linken AS 1

Volgens mij mag een alias niet met een getal beginnen of een getal zijn.
Ik weet het wel zeker! Ook voor een alias gelden de normale regels wat betreft de naamgevingen.
 
Stefan van Iwaarden

Stefan van Iwaarden

14/11/2006 23:26:00
Quote Anchor link
@Jan en Frank, volgens mij is die '1' gewoon een L, maar een kleine letter L wil nog al eens lijken op een 1.

Zeker als je kijkt naar de alias van de eerste tabel is dat logischer dan een 1 (één).
 

15/11/2006 08:07:00
Quote Anchor link
@Jan en Frank

Het is een kleine letter L maar dat zie je niet goed.

@Stefan

Het werkt nu hoe jij het zei, omdraaien en "GROUP BY k.link_id" nu op "k" zetten.

Bedankt en tot snel denk ik :)
 
Jan Koehoorn

Jan Koehoorn

15/11/2006 08:15:00
Quote Anchor link
Als ik de tekst uit je oorspronkelijke post kopieer, krijg ik:
linken AS 1

Als ik met de hand een kleine letter 'L' typ, krijg ik:
linken AS l

Het was dus wel degelijk een cijfer. Maar: het is opgelost en dat is mooi ;-)
 

15/11/2006 08:46:00
Quote Anchor link
edit: typfout


@Jan

Ik moet je gelijk geven, als ik nu naar boven scroll naar mijn eerste post, zie ik inderdaad eentjes staan en de letter L.

Ik kan dat in Dreamweaver niet zien maar hier zie ik het wel. Vandaar dat er nog iets anders niet helemaal lukte. Misschien de volgende keer beter een andere letter gebruiken.

Even om te testen of ik ze nu allemaal goed heb staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$queryTop
= "
SELECT
l.link_id,
l.link_naam,
l.link_website,
l.link_kadobon,
l.link_plaatje,
l.link_omschrijving,
l.link_prijs,
COUNT(k.datumtijd) AS aantal_kliks
FROM
linken AS l
JOIN
kliks AS k
ON
k.link_id = l.link_id
WHERE
MONTH(k.datumtijd ) = MONTH( CURDATE( ) )
AND
YEAR(k.datumtijd ) = YEAR( CURDATE() )
GROUP BY k.link_id
ORDER BY aantal_kliks DESC
LIMIT 0,2"
;
?>
Gewijzigd op 01/01/1970 01:00:00 door
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.