NAVIGATIE

Freetime overzicht
Zoeken


  RUBRIEKEN

FAQ / Help
Wat mag niet?
WZL Wedstrijden
WZL Chat
WZL Toolbar
WZL Statistieken
WZL leden
WZL shop
E-cards

RSS

Fun-feed
Babe-feed
Stud-feed

Een groot aantal pokerrooms geven de mogelijkheid om poker te spelen op internet en geld te storten via het veilige iDeal betaalsysteem.
Overzicht » Computer » Programmeren » [sql] select distinct
Onderaan pagina
WishMaster
[mod] 666
Sinds 26/2/2003
T: 99 R: 2018
9/7/2006 - 16:17u | Quote
Ik heb een database met 3 velden: Dag, Maand, Jaar

Nu is het de bedoeling dat ik 2 menu's maak.

Menu1
De 5 laatste entries weergeven als een url.
Dat is gelukt door SELECT * FROM tabel WHERE Dag='$Dag' LIMIT 0, 5 enz...
en dan krijg ik iets in de vorm van <a href='blabla.php?d=10'>den 10e</a>

Menu2
Een soort 'archief' per maand.
De link moet er dus uitzien als <a href='blabla.php?m=7&y=2006>juli 2006</a>
met 'SELECT DISTINCT Maand from tabel ..' kan ik de maanden eruit halen, maar de combinatie met het jaar lukt dus niet...

Suggesties?
Quagmire 3.748
wzl-lid
Sinds 18/11/2003
T:62 - R:1458
9/7/2006 - 16:52u | Quote
Gaat het nie voor ne distinct te doen op de combinatie van jaar en maand?

Welke database gebruikt ge eigenlijk? MySQL?

edit WM: jep, mySQL

Laatst aangepast door WishMaster op 9/07/2006 17:47:58u (1x aangepast)
Skyke 1.667
WZL-lid
Sinds 7/5/2003
T:7 - R:15
9/7/2006 - 18:35u | Quote
Eens gedacht om subqueries te gebruiken ?
Met de hoofdquery selecteer je elk jaar en hier in ga je dan iedere maand pakken.
WishMaster
[mod] 666
Sinds 26/2/2003
T:99 - R:2018
9/7/2006 - 18:51u | Quote
En hoe werkt da precies?

SELECT DISTINCT(Maand) FROM tabel IN (SELECT DISTINCT(Jaar) FROM tabel)


Laatst aangepast door WishMaster op 9/07/2006 18:54:18u (1x aangepast)
Skyke 1.667
WZL-lid
Sinds 7/5/2003
T:7 - R:15
10/7/2006 - 16:23u | Quote
de syntax ken ik nie meer zo precies maar iets gelijk gij hebt staan.
select col from (select col from tab_naam).
WishMaster
[mod] 666
Sinds 26/2/2003
T:99 - R:2018
10/7/2006 - 17:30u | Quote
SELECT DISTINCT(Maand) FROM tabel IN (SELECT Jaar FROM tabel)

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN ( SELECT Jaar FROM tabel )
caoimhin 2.16
wzl-lid
Sinds 11/6/2006
T:2 - R:144
10/7/2006 - 19:10u | Quote
welke versie van MySQL heb je? volgens mij is het pas vanaf 4.1 dat subquery's in MySQL zitten
WishMaster
[mod] 666
Sinds 26/2/2003
T:99 - R:2018
10/7/2006 - 19:16u | Quote
MySQl: Client API version 4.0.27

PHP Version 4.4.2

Apache Release 10333100
Losealot
Beachboy
Sinds 24/9/2004
T:55 - R:1358
10/7/2006 - 19:26u | Quote
uw subquery klopt nie, ge moet da zo nie gebruiken. maar ksnap nie echt wa ge wilt doen met uw query, mss kunt ge een voorbeeldje geven
WishMaster
[mod] 666
Sinds 26/2/2003
T:99 - R:2018
10/7/2006 - 19:46u | Quote
Ja ik ken niks van subqueries
Eerst da ik ervan hoor eigenlijk.

@ Losealot: voorbeeldje staat toch in de bovenste post?
Velden: Dag, Maand, Jaar
Per dag zal er wel minstens 1 entry zijn.

Nu wil ik automatisch een lijst genereren die de maanden weergeeft waarin er een entry geweest is.
juni 2006 <a href=bla.php?maand=6&jaar=2006>juni 2006</a>
juli 2006 <a href=bla.php?maand=7&jaar=2006>juli 2006</a>
...

Nu moet ik dus zien uit te vissen voor welke maanden er een entry geweest is. Met SELECT DISTINCT(Maand) gaat dat.
Maar dan kom ik in de problemen met mijn jaren (juli 2006 != juli 2007)
Ik kan een script schrijven, maar volgens mij moet sql ook lukken
Losealot
Beachboy
Sinds 24/9/2004
T:55 - R:1358
10/7/2006 - 20:18u | Quote
aa, alst da maar is, gewoon simpel:
SELECT DISTINCT maand, jaar FROM tabel
Quagmire 3.748
wzl-lid
Sinds 18/11/2003
T:62 - R:1458
10/7/2006 - 20:38u | Quote
awel dat vroeg ik mij toch ook af in mijne eerste reply....Of ge gene distinct kunt doen op de combinatie van die velden
WishMaster
[mod] 666
Sinds 26/2/2003
T:99 - R:2018
10/7/2006 - 21:18u | Quote
Haha
omg, da werkt dus
Dikke vette merci ! *sql-n00b*

@ Quagmire: ik dacht dat ge bedoelde om Maand en Jaar samen te voegen ($bla = $Maand . $Jaar ofzo) en daar dan een distinct op te doen

Laatst aangepast door WishMaster op 10/07/2006 21:19:48u (1x aangepast)
Tiso 3.804
General
Sinds 10/6/2003
T:15 - R:413
26/7/2006 - 14:32u | Quote
<a href='blabla.php?m=7&y=2006>juli 2006</a>

normaal kunt ge dan die m en y gebruiken in uw pagina als $m en $y, maar moet daarvoor een bepaalde phpextensie ingeladen zijn, want bij mij lukt dat hier niet, kheb wamp geïnstalleerd
Flyboy
[mod] everywhere
Sinds 18/6/2003
T:43 - R:4373
26/7/2006 - 17:44u | Quote
Tiso schreef:
<a href='blabla.php?m=7&y=2006>juli 2006</a>

normaal kunt ge dan die m en y gebruiken in uw pagina als $m en $y, maar moet daarvoor een bepaalde phpextensie ingeladen zijn, want bij mij lukt dat hier niet, kheb wamp geïnstalleerd


dat ligt eraan of globals aanstaan of niet in php.
is een instelling in uw php.ini bestand.

als deze afstaan kunt ge de variabelen nog altijd aanroepen, maar dan wel via $_GET['d'] en niet $d
is een beveiliging dat ingebouwd is. de meeste webhosts hebben dat wel niet aanstaan.
Tiso 3.804
General
Sinds 10/6/2003
T:15 - R:413
26/7/2006 - 18:44u | Quote
tnx, nu kan ik verder
dannyboy 3.329
wzl-lid
Sinds 31/5/2005
T:108 - R:883
30/10/2006 - 17:59u | Quote
moet ge uw subquery nie in uw WHERE clausule zetten, ik dacht dat da nergens anders kon
null 1.895
wzl-lid
Sinds 9/2/2005
T:2 - R:2
9/1/2007 - 0:06u | Quote
Wat je beter zou doen is dag/maand/jaar in 1 veld steken van het type DateTime, dan heb je al die miserie niet (en heb je een datum-typed veld waarop je datum-related bewerkingen kan uitvoeren)
 
Bovenaan pagina