[php/odbc] top icm order by geeft alle resultaten

Pagina: 1
Acties:

Onderwerpen


  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01 12:01
ik ben bezig om een pagina te maken die gegevens op haalt uit een access database dmv een odbc koppeling.

ik wil hierbij de volgende query uitvoeren:
code:
1
SELECT TOP 5 * FROM [muziek - losse nummers] WHERE [artiest] like '%$anaam%' order by [artiest] desc


dit zou de onderste 5 resultaten moeten geven, maar geeft alle resulaten (wel aflopend gesorteerd)

als ik deze query uit voer:

code:
1
SELECT TOP 5 * FROM [muziek - losse nummers] WHERE [artiest] like '%$anaam%'


krijg ik wel gewoon 5 resulteten te zien (de bovenste 5 uiteraard)
heeft iemand enig idee hoe dit wel zou kunnen?

ik moet overgens top gebruiken mdat access limit niet kent

Verwijderd

Doet de query het wel goed als je het binnen de Access database zelf draait?

  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01 12:01
nee, ook daar geeft hij alle resultaten ipv 5, ik kan er niet achter komen waar de fout in zit, je zou zeggen dat het een goede query is...

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 28-10 21:45
Is het niet dat je het top statement aan het eind zet?
code:
1
SELECT * FROM [muziek - losse nummers] WHERE [artiest] like '%$anaam%' order by [artiest] desc TOP 5

In MySQL komt het LIMIT statement iig aan het eind, kwee tniet precies hoe 't zit met Access.
Kon niet vinden op MSDN

[ Voor 8% gewijzigd door Skaah op 15-02-2004 13:37 ]


  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 23:02
Stel je hebt 2 artiesten met 11 nummers; 4 nummers van artiest A en 7 van arties B.
Je zou willen dat ie dan 4 nummers van A laat zien en één van B.
Maar welke zou dat moeten zijn? Dat weet SQL niet en daarom gooit ie ze maar alle 7 van B erbij. (Weet niet of dit de juiste redenatie is, maar ik had hier laatst ook al last van)

Misschien gaat het beter als je er een extra "order by ID-nummer" bijzet.

edit:
Als dit niet goed werkt dan zou je eens naar de Pass Through Query in Access moeten kijken. De query wordt dan op de server uitgevoerd i.p.v. op de client.

[ Voor 19% gewijzigd door nescafe op 15-02-2004 13:47 ]

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01 12:01
ik ben er achter heo het wel moet in access:

code:
1
2
3
4
5
6
select * from (
select top 5 * from(
SELECT  * FROM [muziek - losse nummers]
Where artiest like input
ORDER BY artiest DESC))
order by artiest


zeer omslachtig, maar dat heb je wel vaker met microsoft producten...

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 23:02
Was mijn uitleg zo onduidelijk? :/ :P ;)

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans

Pagina: 1