JOIN Query met een LIMIT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remco schrubben

remco schrubben

04/06/2012 01:19:17
Quote Anchor link
Via een query probeer ik met een JOIN diverse gegevens op halen.
Ik beschrijf eerst even wat voorbeelden. Hier zijn wel voorbeeld gegevens gebruikt. Maar schetst wel wat ik wil bereiken.
De database ziet er uit als:

table1:
1_id - weeknr
1 - 20
2 - 21
3 - 22

table2
id - 1_id - positie - naam
1 - 1 - 1 - remco
2 - 1 - 2 - eric
3 - 1 - 3 - jan
4 - 2 - 1 - willie
5 - 2 - 2 - johnny
6 - 3 - 1 - wouter
7 - 3 - 2 - eric-jan

De Query is:
SELECT
table1.1_id,
table1.weeknr
table2.id
table2.1_id
table2.positie,
table2.naam
FROM
table1
INNER JOIN
table2
ON
table1.1_id = table2.1_id
ORDER BY
table2.positie

Wat wil ik bereiken:
Zoals je ziet heb ik in table1 3 rows staan en in table2 7 rows.
Nu haal ik de huidige week op en toon ik de naam en positie's. Dit lukt zoals bedoelt is. Alleen zodra ik LIMIT 1 toevoeg dan krijg ik maar 1 result van table2, dit terwijl in table2 2 of meer rows per week aanwezig zijn. Mijn bedoeling is dat ik een LIMIT 1 krijg op de table1.

Nu heb ik iets gelezen over GROUP BY table1.weeknr LIMIT 1 of GROUP BY table2.positie LIMIT 1. Maar hiermee krijg ik ook alleen maar 1 result uit table2. Tevens heb ik tijdens het testen van de GROUP BY de JOIN afgewisseld met LEFT JOIN, INNER JOIN, RIGHT JOIN. Dit geeft ook niet mijn gewenste result.

Wie kan mij een zetje geven.
 
PHP hulp

PHP hulp

27/04/2024 00:47:10
 
Erwin H

Erwin H

04/06/2012 10:34:13
Quote Anchor link
Je kan de limit via een subquery alleen voor table1 laten gelden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT t1.1_id, t1.weeknr, table2.id, table2.1_id, table2.positie, table2.naam
FROM (
  SELECT 1_id, weeknr
  FROM table1
  LIMIT 1
) AS t1
INNER JOIN table2
ON t1.1_id = table2.1_id
ORDER BY table2.positie
 
Remco schrubben

remco schrubben

04/06/2012 23:15:01
Quote Anchor link
Ik ga deze even proberen zodra ik weer achter de goede pc zit.
Het is ook de bedoeling dat ik een limit krijg op table1.

Uitkomst laat ik horen.
 



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.