2 Subquery's naar Joins in mySQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

03/03/2004 11:34:00
Quote Anchor link
Hoi mede phpers,

mySQL 4.0 ondersteund geen subquery's heb ik vernomen. In plaats daarvan zou je JOINS moeten gebruiken. Deze werken perfect voor mij tot nu toe. Maar nu heb ik een query die omgezet moet worden naar mySQL en 2 subquery's heeft. Geen probleem dacht ik meteen, gewoon een JOIN in een JOIN doen. Maar dat blijkt dus niet te werken. Mijn query ziet er ongeveer zo uit:

SELECT veld1.*
FROM veld1
WHERE veld1.id IN (
SELECT veld2.id
FROM veld2
WHERE veld2.id IN (
SELECT veld3.id
FROM veld3))

En mijn vraag is natuurlijk, hoe zet ik zoiets om naar mySQL?

Bij voorbaad dank,

Martijn
 
PHP hulp

PHP hulp

03/05/2024 16:22:29
 
Peanuts

peanuts

03/03/2004 16:30:00
Quote Anchor link
Een subquery is zeker geen join en ook niet goed te vergelijken

nou kan je met een subquery wellicht een join nabootsen andersom kan het zeker niet

bij een subquery selecteer je op basis van een andere selectie...

bij een join koppel je tabellen aan elkaar

een typisch voorbeeld van een join

select * from contactpersonen c, bedrijven b where c.bedrijfID = b.bedrijfID

(een zogenaamde straight join)

of

select * from contactpersonen left join bedrijven on contactpersonen.bedrijfID = bedrijven.bedrijfID

een left join
het verschil hierbij is dat je het volgende vraagt...
geef alles van contactpersonen en als er iets relevants is ook van bedrijven ...

terwijl de straight join zegt dat er een overeenkomst moet bestaan hoeft dit niet bij de left join ..

laat ff de precieze query zien dan kan ik je wellicht een stukje verder helpen ..

Mvg,

peanuts
 

03/03/2004 17:23:00
Quote Anchor link
Bedankt voor de informatie. Ik heb zelf nog wat geprobeerd met contactpersonen.bedrijfID = bedrijven.bedrijfID zoals in het voorbeeld. Mijn query werkt nou wel maar is alleen enorm traag. Dit komt waarschijnlijk door de vele joins. Daarom heb ik besloten om 2 verschillende query's te gebruiken het het probleem op te lossen in php.

bedankt voor de hulp peanuts
 



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.