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

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • 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

Acties:
  • 0 Henk 'm!

Verwijderd

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

Acties:
  • 0 Henk 'm!

  • 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...

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
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 ]


Acties:
  • 0 Henk 'm!

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 03:54
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


Acties:
  • 0 Henk 'm!

  • 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...

Acties:
  • 0 Henk 'm!

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

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

Pagina: 1