|
Categorieën >
PHP & SQL
JOIN optioneel (Opgelost)
timo – 21/11/2007 21:34 (Laatst gewijzigd op 22/11/2007 18:53)
|
|
offline
|
PHP ver gevorderde
|
Ik wil met een query de gegevens van leden opvragen, deze zitten mogelijk in een familie, ik wil de familienaam van deze persoon opvragen binnen dezelfde query van de andere gegevens dmv een join,
hoe doe ik dit, query nu:
SELECT members.respoints,members.lastmisdaad,members.money,members.moneybank,members.weapon,members.house,members.ks,members.hp,members.hpmax,members.smartness,members.family,families.famnaam
FROM members
LEFT JOIN families
ON(members.family = families.id)
WHERE members.id=".addslashes($_SESSION['xxxx']['id'])."
SELECT members.respoints,members.lastmisdaad,members.money,members.moneybank,members.weapon,members.house,members.ks,members.hp,members.hpmax,members.smartness,members.family,families.famnaam FROM members LEFT JOIN families ON(members.family = families.id) WHERE members.id=".addslashes($_SESSION['xxxx']['id'])."
Ja dit bericht bestaat al, maar aangezien er geen mogelijk tot bumpen van onbeantwoordde berichten is (mss iets voor jou stijn?) maak ik het opnieuw aan..
edit: query geupdate |
10 antwoorden
|
|
|
offline
|
PHP gevorderde
|
En wat krijg je nu precies?
|
timo – 21/11/2007 22:05 (Laatst gewijzigd op 21/11/2007 22:06)
|
|
offline
|
PHP ver gevorderde
|
oeps, verkeerde tabelnaam
hij geeft nu 0 resultaten
|
Wim – 21/11/2007 23:15
|
|
offline
|
Crew algemeen
|
waarom staat die join er trouwens in? Je selecteerd niets van de tabel families, en je gebruikt het ook niet in je where clausule.... Doe die RIGHT JOIN en die ON gewoon weg...?
Als je er bepaalde dingen uitgezift zou hebben, probeer er dan eens een inner join van te maken
|
timo – 22/11/2007 15:05 (Laatst gewijzigd op 22/11/2007 16:15)
|
|
offline
|
PHP ver gevorderde
|
hij moet families.famnaam selecteren, maar alleen als members.family correspondeerd met een families.id
iemand?
|
Wim – 22/11/2007 16:56
|
|
offline
|
Crew algemeen
|
geef je tabellen eens, want je vergelijkt volgens mij id's die niets met elkaar te maken hebben (bij je ON).
Bovendien, waarom zou je een right join en geen inner join gebruiken? is toch (iets) makkelijker om fouten bij uitbreiding te voorkomen?
|
timo – 22/11/2007 17:40
|
|
offline
|
PHP ver gevorderde
|
inner join is toch dat het MOET bestaan, hier is dat alleen een mogelijkheid
|
jvs – 22/11/2007 18:14 (Laatst gewijzigd op 22/11/2007 18:16)
|
|
offline
|
HTML beginner
|
moet het niet zijn:
ik denk dat "outer" er wel moet bij staan omdat hij anders denkt dat het een inner join is.
|
timo – 22/11/2007 18:44 (Laatst gewijzigd op 22/11/2007 18:50)
|
|
offline
|
PHP ver gevorderde
|
maakt niets uit, noch in PMA noch in script
edit: veranderd naar LEFT JOIN, nu werkt het wel, maar als ik families.famnaam erbij wil selecteren (waar de hele join om te doen is) geeft hij famnaam als NULL terug.. ook in PMA
|
|
|
|
offline
|
PHP expert
|
Is members.family een family-id? Dan zou het moeten werken.
|
timo – 22/11/2007 19:26 (Laatst gewijzigd op 22/11/2007 19:30)
|
|
offline
|
PHP ver gevorderde
|
dat dacht ik ook, maar dat doet ie dus niet:S
nvm, query was nog steeds members.id = families.id :S, nja, nu opgelost dus, werkt!
|
Dit onderwerp is gesloten.
|
|
|