Veel op veel JOIN en WHERE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lasse

Lasse

12/02/2007 17:07:00
Quote Anchor link
Ik was bezig met een veel op veel JOIN. Ik kwam er achter dat dat toch behoorlijk lastig was.
Uiteindelijk ben ik er uit gekomen, maar ik wil toch wel even weten of dit de goede (beste) manier is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
        users.name,
        messages.title
    FROM
        users
    INNER JOIN
        users_messages
        ON
            users.id = users_messages.userid
    INNER JOIN
        messages
        ON
            users_messages.messageid = message.id


Hierbij is het dus de bedoeling dat je alle users te zien krijgt, en alle titels van de berichten die hij heeft gemaakt.

En toen had ik meteen nog een vraag:
Als ik hierbij alleen bepaalde users wil zien. Dan maak ik een WHERE er achter aan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE users.name = 'Jan' OR users.name = 'Piet' OR users.name = 'Kees'


Ook dat werkt prima, maar als je nu 10 users wilt selecteren, dan wordt je query erg lang. Kan je op de een of andere manier niet zoiets doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE users.name = ('Jan','Piet','Kees')


Dan is de WHERE clausule opeens veel kleiner.
Weet iemand hier een oplossing voor?

Alvast bedankt!
 
PHP hulp

PHP hulp

20/11/2024 03:44:30
 
Klaasjan Boven

Klaasjan Boven

12/02/2007 17:09:00
Quote Anchor link
WHERE users.name IN ('Jan','Piet','Kees')
 
Joren de Wit

Joren de Wit

12/02/2007 17:10:00
Quote Anchor link
Je hebt hem al bijna goed:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE users.name IN ('Jan', 'Piet', 'Kees')
 
Lasse

Lasse

12/02/2007 17:21:00
Quote Anchor link
@Klaasjan Boven en Blanche
Allebei bedankt. Dan zat ik er inderdaat in de buurt:D
Heel erg bedankt!

En wil er ook nog iemand kijken of mijn JOINS goed in elkaar zitten?
 
Joren de Wit

Joren de Wit

12/02/2007 17:33:00
Quote Anchor link
Als ze werken zitten ze goed in elkaar. Er valt zo op het eerste gezicht weinig over te zeggen omdat ik je datamodel niet ken...
 
Lasse

Lasse

12/02/2007 17:43:00
Quote Anchor link
Die ziet er nu zo uit (dit is testfase):

table Users:
name
id
...
...

Table users_messages
id
userid
messageid

Table Messages
id
title
inhoud
...

De puntjes zijn niet nuttig om hier te melden.
 



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.