login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > MySQL > Joins
Pagina:

Reacties op de tutorial Joins


Offline  gijs
Gepost op: 13 juli 2005 - 14:15
HTML beginner

Ik zie steeds overal staan dat er twee id's zijn met waarde 2, maar dat lijkt me een beetje onlogisch, twee klanten die hetzelfde id hebben 

Verder is het wel duidelijk 

Offline  Dolfje
Gepost op: 13 juli 2005 - 14:19
Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde


Dit twee id's komen er omdat die persoon 2 aankopen heeft

Offline  BonMarche
Gepost op: 13 juli 2005 - 15:00
PHP beginner

weet je zelf wel wat joins zijn?? aangezien dit in de categorie php staat....

Offline  Dolfje
Gepost op: 13 juli 2005 - 15:05
Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde


Ow ja,
Ik had hem verkeerd gepost, sorry voor de grove  fout,

En ik weet wel wat joins is, anders zou ik er nooit een tutorial over kunnen schrijven  (denk je ook niet )

Offline  Frederic
Gepost op: 13 juli 2005 - 22:38
PHP ver gevorderde

ik vind het niet echt n goede tut...
Seg, wat is nu het verschil tussen jouw JOINS en deze query:

  1. <? $sql = mysql_query("SELECT forum_topic.*, forum_categorie.id AS categorieid, forum_categorie.naam AS categorienaam FROM forum_topic, forum_categorie WHERE '".$_GET['categorie']."' = forum_categorie.id ORDER BY laatste_reactie ASC LIMIT ".$begin.", ".$aantal_per_pagina.""); ?>

Offline  Dolfje
Gepost op: 13 juli 2005 - 22:40
Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde


Citaat:
Deze functie doet eigenlijk hetzelfde als WHERE met 2 tabellen.
een voorbeeldje:
query: SELECT * FROM klanten INNER JOIN aankopen ON (klanten.id = aankopen.klantID )


staat letterlijk in de tekst!

Offline  Tuinstoel
Gepost op: 16 juli 2005 - 09:43
PHP expert

Wat is nu het verschil tussen al die manieren van JOINS, want ik vat er namelijk geen hol van.

Offline  Dolfje
Gepost op: 20 september 2005 - 21:31
Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde


bij een INNER JOIN:
hij neemt alles waarvan er iets in de eerste tabel zit en in de tweede.
bij een LEFT JOIN:
hij neemt alles van de eerste tabel en zet er de waarden van de tweede tabel bij. (dus alles waarvan er niets in de 2de tabel zit is dan leeg)
bij een RIGHT JOIN:
hij neemt alles van de 2de table en zet er de waarden van de 1ste tabel bij. (dus alles waarvan er niets in de 1de tabel zit is dan leeg)
bij een OUTER JOIN:
hij neemt alles waarvan er iets in de eerste tabel zit of in de tweede. (dus alles waarvan er niets in de 1de tabel zit is dan leeg en dus alles waarvan er niets in de 2de tabel zit is dan leeg)

Het is moeilijk om uit te leggen, maar als je het snapt is het heel gemakkelijk.

Offline  Sc0tTy
Gepost op: 26 april 2006 - 16:28
PHP interesse

Citaat:
[I][B]Dolfje[/B] schreef op 20 September 2005 - 21:31[/I]

bij een INNER JOIN:
hij neemt alles waarvan er iets in de eerste tabel zit en in de tweede.
bij een LEFT JOIN:
hij neemt alles van de eerste tabel en zet er de waarden van de tweede tabel bij. (dus alles waarvan er niets in de 2de tabel zit is dan leeg)
bij een RIGHT JOIN:
hij neemt alles van de 2de table en zet er de waarden van de 1ste tabel bij. (dus alles waarvan er niets in de 1de tabel zit is dan leeg)
bij een OUTER JOIN:
hij neemt alles waarvan er iets in de eerste tabel zit of in de tweede. (dus alles waarvan er niets in de 1de tabel zit is dan leeg en dus alles waarvan er niets in de 2de tabel zit is dan leeg)

Het is moeilijk om uit te leggen, maar als je het snapt is het heel gemakkelijk.



dit heeft me meer geholpen dan heel de tutorial.. THX:)

Offline  Dolfje
Gepost op: 26 april 2006 - 18:19
Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde


Ik heb dat dan maar in de tutorial gestoken ;)

Offline  ikkedikke
Gepost op: 23 juli 2006 - 15:38
PHP expert

is het ook mogelijk om alleen een bepaalde kolom uit de gejoinde tabel te halen?
dit werkt nl niet:
SELECT * FROM `wedstrijden` LEFT JOIN hallen.triviaal ON (wedstrijden.plaats = hallen.id) WHERE wedstrijden.plaats = 1

edit: dit lukt me wel, maar nu wil ik 2 joins uit 1 tabel doen, en dan begint die te bokken:
SELECT `wedstrijden`.*,
`hallen`.`triviaal`,
`teams`.`triviaal`
FROM `wedstrijden`
LEFT JOIN `hallen` ON (wedstrijden.plaats = hallen.id)
LEFT JOIN `teams` ON (wedstrijden.thuisteam = teams.id)
LEFT JOIN `teams` ON (wedstrijden.uitteam = teams.id) WHERE wedstrijden.plaats = 1
met de error:
#1066 - Niet unieke waarde tabel/alias: 'teams'




Offline  Dolfje
Gepost op: 23 juli 2006 - 23:55
Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde


SELECT `wedstrijden`.*,
`hallen`.`triviaal`,
`teams`.`triviaal`
FROM `wedstrijden`
LEFT JOIN `hallen` ON (wedstrijden.plaats = hallen.id)
LEFT JOIN `teams` as teams2 ON (wedstrijden.thuisteam = teams2.id)
LEFT JOIN `teams` ON (wedstrijden.uitteam = teams.id) WHERE

zo lukt het wel ;)

Offline  michielvsb
Gepost op: 30 september 2006 - 12:56
HTML interesse

Opzich mooie tut, maar als je hem eens zou nalezen zou je merken dat hij niet makkelijk leest, door de vele typfouten.

Offline  webstab
Gepost op: 07 februari 2007 - 17:33
PHP ver gevorderde

Ik snap ondertussen de JOINS en ik gebruik ze ook al, maar nu ben ik op het volgende probleem gestuit:
Citaat:
LEFT JOIN
Deze query neemt de eerste tabel en voegt de waardes van de tweede er gewoon aan toe en als iemand 2 waarden heeft (van de eerste table) word die nog eens getoond:

Maar ik wil niet dat die nog eens worden getoond... Is dat mogelijk? Of moet ik het anders aanpakken?

Edit: ik heb het ondertussen al gevonden, bedankt. (GROUP BY erbij betrekken)

Offline  Dolfje
Gepost op: 07 februari 2007 - 17:40
Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde


Je kan het ook door INNER JOIN en dat is een betere oplossing ;)

Offline  webstab
Gepost op: 07 februari 2007 - 17:44
PHP ver gevorderde

Dat dacht ik ook, maar in deze situatie is een INNER niet mogelijk.

Omdat er bij sommige resultaten niet altijd een ander resultaat bestaat (klinkt misschien raar) maar bij INNER geeft hij niet alles weer.

Nu werkt het perfect. Ik gebruik LEFT JOIN in combinatie met GROUP BY

Offline  Styxie
Gepost op: 28 oktober 2008 - 13:45
Nieuw lid

Deze tutorial lijkt op het eerste zicht misschien niet zo duidelijk maar omdat het zo kort en bondig is snap ik nu eindelijk de "JOIN"

Bedankt !

Offline  suzanna
Gepost op: 12 december 2008 - 11:47
Nieuw lid

hallo, ik heb het volgende probleem. Ik heb getracht zoveel mogelijk te normaliseren en heb nu de volgende tabellen:
plant (met plantid, kleur, soort, prijs)
plantkleur (met id, kleur)
plantsoort (met id, soort)
prijs (met id, prijs)

ik ben zover dat ik plant kan combineren met twee andere tabellen, maar het lukt me niet om die derde erbij te krijgen.
Dit is wat ik tot nu toe heb:
Select *
From (plant
LEFT JOIN plantkleur
ON plant.plantkleur=plantkleur.id)

LEFT JOIN plantsoort
ON plant.plantsoort=plantsoort.id


Dat ik alle velden laat zien is even voor het gemak en ter controle. De vraag is dus hoe kan ik de link laten zien met de tabel prijzen. Ik ben beginnend mysql-er.
Alvast bedankt!

Offline  Giant
Gepost op: 02 januari 2009 - 18:44
PHP beginner

Hallo,

de OUTER JOIN klopt niet helemaal meer...
Hier moet nog LEFT voor komen te staan voor een goede werking.

Offline  ikki007
Gepost op: 17 september 2009 - 07:29
Gouden medailleGouden medaille

PHP ver gevorderde


Hartstikke bedankt, hier heb ik veel aan gehad, gewoon lekker kort en krachtig.

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.038s