Foutje in SQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daan

Daan

12/06/2008 14:21:00
Quote Anchor link
Hey iedereen

Ik heb een paar uur lang zitten studeren en proberen met een SQL-query, maar ik ben er nog steeds niet uit. Ik hoop dat iemand van jullie de oplossing weet.

Dit is de query die ik nu 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
SELECT
    r.id,
    r.reactie,
    r.auteur AS auteur_id,
    g.naam AS auteur,
    UNIX_TIMESTAMP(r.datum) AS datum,
    COUNT(gz.id) AS aantal_gezien
FROM
    gebruikers AS g, gezien AS gz, reacties AS r
WHERE
    gz.reactie = r.id
    AND g.id = r.auteur
    AND (gz.gebruiker = $gebruiker_id OR gz.gebruiker = NULL)
GROUP BY
    r.id
ORDER BY
    r.datum DESC


Of, met joins, maar komt op hetzelfde neer en met hetzelfde probleem:

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
SELECT
    r.id,
    r.reactie,
    r.auteur AS auteur_id,
    g.naam AS auteur,
    UNIX_TIMESTAMP(r.datum) AS datum,
    COUNT(gz.id) AS aantal_gezien
FROM
    gebruikers AS g
INNER JOIN
(
        gezien AS gz
    INNER JOIN
        reacties AS r
    ON gz.reactie = r.id
)
ON g.id = r.auteur
WHERE
    gz.gebruiker = $gebruiker_id
GROUP BY
    r.id
ORDER BY
    r.datum DESC


Wat hij moet doen, is uit een database uit drie verschillende tabellen informatie halen:
  • reacties Hier gaat het om: de reactie, de auteur_id en datum
  • gebruikers Hier wil ik de naam uit de rij halen waar het id gelijk is aan auteur_id uit tabel reacties
  • gezien Dit is een tabel waar elke keer als een reactie gezien wordt een nieuwe rij in wordt geplaatst. Ik wil weten hoe vaak de reactie al gezien is.


Nu gaat alles goed, behalve als de reactie nog niet gezien is. Dan wordt hij helemaal niet opgehaald, omdat gezien.gebruiker niet hetzelfde is als $gebruiker_id (want die rij bestaat niet).

Is het mogelijk om de query zo aan te passen, dat hij bij aantal_gezien gewoon 0 (nul) aangeeft als hij nog niet gezien is.

Het is ook goed als het iets wordt van true/false (wel al gezien of niet gezien) Want het gaat er alleen om of hij al gezien is. Nu kijk ik in mijn script of het aantal keer gezien > 0 (wel gezien) of niet (niet gezien).

Ik hoop dat het duidelijk is. Volgens mij is het ook niet perse nodig om de tabellen helemaal te posten, maar als jullie daar wat aan hebben wil ik dat best doen..

Alvast bedankt
Daan
 
PHP hulp

PHP hulp

22/12/2024 09:46:34
 
Daan

Daan

12/06/2008 14:51:00
Quote Anchor link
Edit:
Hoow.. sorry, foutje ;)
En @SanThe: nee, dit was niet expres een bump. :D
Gewijzigd op 01/01/1970 01:00:00 door Daan
 
- SanThe -

- SanThe -

12/06/2008 15:10:00
Quote Anchor link
Daan schreef op 12.06.2008 14:51:
Edit:
Hoow.. sorry, foutje ;)
En @SanThe: nee, dit was niet expres een bump. :D

Heb ik al zo'n slechte naam? ;-)
 
Daan

Daan

12/06/2008 15:48:00
Quote Anchor link
Ha ha nee hoor, maar zo'n bericht met 'niet bumpen' staat zo stom ;)
Maar niemand die kan helpen??
 



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.