[SQL,ASP] heel basic, maar toch error in SELECT

Pagina: 1
Acties:

  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
ja mensen schaam me een beetje dat ik hiervoor terecht moet...
ik heb een table in een mysql db met 1 record, genaamd "poll"

hier komen later nog meerdere records bij.
om altijd de laatste te pakken, pak ik gewoon die met de hoogste poll_id
nu zijn er nog wel een paar andere manieren, maar deze moet ook werken.

deze sql statement levert geen records terug:
code:
1
2
3
4
5
6
7
8
9
10
    SelectSQL = "SELECT * " & _
            "FROM   poll " & _
            "WHERE  poll_id = '" & _
            "( " & _
            "  SELECT   MAX(poll_id) " & _
            "  FROM poll " & _
            ")' "

    Set ResultSet = Server.CreateObject("ADODB.Recordset")
    ResultSet.Open SelectSQL, ObjConnection


als ik de subquery vervang door een id, bv '1' danm pakt ie 'm wel gewoon...
iemand?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 15:34

mulder

ik spuug op het trottoir

zonder singelquote?

oogjes open, snaveltjes dicht


  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
geprobeerd, helaas, maar het hoort toch wel mét of niet?
code:
1
2
[MySQL][ODBC 3.51 Driver][mysqld-3.23.49-nt]
You have an error in your SQL syntax near 'SELECT MAX(poll_id) FROM poll )


dit is dus als ik de single quotes weglaat

[ Voor 12% gewijzigd door Krooswijk.com op 17-02-2003 20:44 ]


Verwijderd

SELECT * FROM poll WHERE poll_id IN (SELECT MAX(poll_id) FROM poll);

Heb ik alleen 2 puntjes, namelijk mysql en subqueries ;) en waarom doe je dat niet met een eenvoudigere

SELECT * FROM poll ORDER BY poll_id DESC LIMIT 1;

Verwijderd

SELECT poll_id FROM poll GROUP BY poll_id HAVING poll_id=Max(poll_id);

dit zou ook moeten lukken, toch?

  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
ok dat kan inderdaad, bij mij de nieuwsgierigheid waarom bovenstaande niet werkt

  • If8022n2IOk1Z8
  • Registratie: Juni 2000
  • Laatst online: 23-01-2023
Het kan inderdaad op beide manieren, heb ik toevallig vorige week nog gedaan op school :-)

AsRock 690FX Deluxe3 - AMD X4 640, 4GB PC6400 DualChannel Kingston - 1x OCZ 60GB SSD - Samsung SpinPoint 1TB


  • If8022n2IOk1Z8
  • Registratie: Juni 2000
  • Laatst online: 23-01-2023
Omdat je geen group by gebruikt en wel het maximum van een group wil hebben.

AsRock 690FX Deluxe3 - AMD X4 640, 4GB PC6400 DualChannel Kingston - 1x OCZ 60GB SSD - Samsung SpinPoint 1TB


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:37
If8022n2IOk1Z8 schreef op 17 februari 2003 @ 20:51:
Omdat je geen group by gebruikt en wel het maximum van een group wil hebben.



Dat hoeft niet. Hij wil het maximum van de gehele tabel. Zolang je geen andere fields in je select-list hebt (andere dan aggregated functions), heb je geen group by clause nodig.

https://fgheysels.github.io/


  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
dat dacht ik dus ook... aangezien ik alleen naar de poll_id kijk
ik kan toch gewoon een ADODB recordset gebruiken voor een mysql db?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:31

Creepy

Tactical Espionage Splatterer

Da Snake schreef op 17 februari 2003 @ 21:04:
dat dacht ik dus ook... aangezien ik alleen naar de poll_id kijk
ik kan toch gewoon een ADODB recordset gebruiken voor een mysql db?
Ja..

maar, het is al gezegd in dit topic, MySQL ondersteunt geen sub selects. Daarom werkt je query niet.

[ Voor 3% gewijzigd door Creepy op 17-02-2003 21:46 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1