Dat deel heb ik al opgelost volgens mij, maar nu zit ik met "Unknown Database", terwijl de naam toch echt klopt, de poort ook, en ik zie de database ook in de Workbench.quote:
De user moet wel rechten hebben tot de database. Hoe staan de rechten van je user tegenover de database 'phpbb_drnick'?quote:Op woensdag 8 februari 2012 22:49 schreef DrNick het volgende:
[..]
Dat deel heb ik al opgelost volgens mij, maar nu zit ik met "Unknown Database", terwijl de naam toch echt klopt, de poort ook, en ik zie de database ook in de Workbench.
Die heeft alle rechten.quote:Op woensdag 8 februari 2012 23:05 schreef The_Terminator het volgende:
[..]
De user moet wel rechten hebben tot de database. Hoe staan de rechten van je user tegenover de database 'phpbb_drnick'?
ken je het verschil tussen een record, een tabel en een database?quote:Op woensdag 8 februari 2012 22:41 schreef DrNick het volgende:
Ik weet niet of ik nu verder ben of terug, maar ik heb iets gedaan, en nu krijg ik een
[..]
Maar in de Workbench staat bij "SQL Development" wel zo'n database.
Uhm, neequote:Op donderdag 9 februari 2012 11:19 schreef GlowMouse het volgende:
[..]
ken je het verschil tussen een record, een tabel en een database?
1 2 3 4 | SELECT p.id, p.description, p.inActive, ph.name AS photo FROM products p JOIN photo ph on(p.id=ph.artId) WHERE p.inActive IS NULL ORDER BY p.id DESC |
quote:Op donderdag 9 februari 2012 15:47 schreef Swetsenegger het volgende:
Ik loop weer eens te tobben met een join voor 1 to many
Ik heb een tabel met producten en een tabel met foto's. Per product kan ik meerdere foto's hebben. Maar voor de overzichtspagina wil ik alleen de eerst gevonden foto hebben.
[ code verwijderd ]
Maar dit geeft voor bv product 1 twee rows terug omdat ik 2 foto's heb. Hoe limit ik dat? Ik was in de veronderstelling dat LEFT JOIN dat zou doen, maar dan krijg ik dezelfde results.
1 2 3 4 5 6 | SELECT p.id, p.description, p.inActive, ph.name AS photo FROM products p JOIN photo ph ON(p.id=ph.artId) LEFT JOIN photo ph2 ON(p.id=ph2.artID AND ph2.id<ph.id) WHERE p.inActive IS NULL AND ph2.id IS NULL ORDER BY p.id DESC |
Hij heeft een .nl, maar host op zijn lokale machine. Portforwarding staat goed, en de site draait, maar kan de database (die er wel is) niet vinden, wat ik zo kon zien stond alles goed.quote:Op donderdag 9 februari 2012 11:19 schreef GlowMouse het volgende:
[..]
ken je het verschil tussen een record, een tabel en een database?
het enige deel wat ik niet begrijp isquote:Op donderdag 9 februari 2012 16:04 schreef GlowMouse het volgende:
[..]
[ code verwijderd ]
die < kun je in > vervangen; afh. van of je de eerste of laatste foto zoekt
1 | AND ph2.id IS NULL |
Als een join niks terug geeft, is die waarde NULLquote:Op donderdag 9 februari 2012 16:11 schreef Swetsenegger het volgende:
[..]
het enige deel wat ik niet begrijp is
[ code verwijderd ]
waar is die where clausule voor?
Ah ok, voor de records waar geen foto's aanhangen?quote:Op donderdag 9 februari 2012 16:14 schreef Sitethief het volgende:
[..]
Als een join niks terug geeft, is die waarde NULL
nee, kijk naar de joinconditie (ON ...).quote:Op donderdag 9 februari 2012 16:34 schreef Swetsenegger het volgende:
[..]
Ah ok, voor de records waar geen foto's aanhangen?
dm de teamviewerdetails maarquote:Op donderdag 9 februari 2012 16:11 schreef DrNick het volgende:
Glowmouse, Sitethief krijgt het niet voor elkaar, zou jij het willen proberen?
quote:Op donderdag 9 februari 2012 16:46 schreef GlowMouse het volgende:
[..]
nee, kijk naar de joinconditie (ON ...).
1 | LEFT JOIN photo ph2 ON(p.id=ph2.artID AND ph2.id<ph.id) |
1 | ph2.id IS NULL |
ik heb mysql via de command line bediend, ik ken dat MySQL workbench nietquote:
er moet juist geen foto zijn met een lager id; draai de query anders eens zonder WHEREquote:Op donderdag 9 februari 2012 16:59 schreef Swetsenegger het volgende:
[..]
[ code verwijderd ]
Dit zegt feitelijk "Pak alleen de foto met het laagste ID uit de tabel"
[ code verwijderd ]
Maar dit snap ik dan niet, want dit zou dan toch gewoon het laagste ID uit de foto tabel zijn met het bijbehorende artId?
OW! die left join zorgt dus dat alleen de foto met het laagste id wordt gepakt. daarom is ph2.id NULL, want die bestaat niet.... toch?quote:Op donderdag 9 februari 2012 17:10 schreef GlowMouse het volgende:
[..]
ik heb mysql via de command line bediend, ik ken dat MySQL workbench niet
[..]
er moet juist geen foto zijn met een lager id; draai de query anders eens zonder WHERE
bijna goedquote:Op donderdag 9 februari 2012 17:12 schreef Swetsenegger het volgende:
[..]
OW! die left join zorgt dus dat alleen de foto met het laagste id wordt gepakt. daarom is ph2.id NULL, want die bestaat niet.... toch?
Ah, ok. Maar het werkt in ieder geval. Bedankt!quote:Op donderdag 9 februari 2012 17:10 schreef GlowMouse het volgende:
[..]
ik heb mysql via de command line bediend, ik ken dat MySQL workbench niet
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |