tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
738
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    beetel beetel ist offline Grünschnabel
    Registriert seit
    Apr 2007
    Beiträge
    2
    Hallo zusammen,

    Ich habe ein Problem mit einer Abfrage in einer MySQL Datenbank (v. 4) Die folgende Abfrage wird über eine Joomla! Seite abgefragt.

    Ich bin leider nicht sehr gut in MySQL und kann keinen Fehler in meiner Abfrage finden. Kann mir irgendjemand weiterhelfen?

    Vielen Dank im voraus

    Fehler
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
     
    SQL-Befehl: 
     
    SELECT * , '' AS 'NA'
    FROM stv_users u, stv_comprofiler ue
    WHERE u.id = ue.id
    AND u.block !=1
    AND ue.approved =1
    AND ue.banned =0
    AND ue.confirmed =1
    AND u.gid
    IN ( 29, 19, 20, 21, 18, 18, 19, 20, 21, 30, 24, 23, 25, 23, 24, 25 ) 
    AND (
     
    `cb_personengruppe` = 'Athlet'
    )
    AND (
    SUBSTRING( `cb_geburtstag` , 1, 4 ) >=1988
    )
    ORDER BY `cb_geburtstag` ASC 
    LIMIT 0 , 30; 
     
     
    MySQL meldet:  
     
    #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 '(`cb_gerurtstag`, 1, 4) >= 1988)  ORDER BY `cb_geburtstag` ASC


    Ich hoffe SUBSTRING ist richtig?! Habe es auch mit SUBSTR probiert, es kommt genau der selbe Fehler.

    Oder muss der Substring anschließend noch gecastet werden um einen größer/gleich Vergleich zu machen? Aber das geschieht doch eigentlich impliziet?

    Schöne Grüße
    Beetel
    Geändert von beetel (24.04.07 um 15:34 Uhr) Grund: das Feld cb_geburtstag war falsch geschrieben aber aber die Abfrage klappt trotzdem nicht!
     

  2. #2
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    SUBSTRING( `cb_gerurtstag` , 1, 4 ) >=1988

    sollte wohl "cb_geburtstag" werden ...
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  3. #3
    beetel beetel ist offline Grünschnabel
    Registriert seit
    Apr 2007
    Beiträge
    2
    Danke für deine schnelle antwort aber daran lag es nicht... ich habe es selber herausgefunden


    habe es jetzt mit dieser abfrage geschaft:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    SELECT * , '' AS 'NA'
    FROM stv_users u, stv_comprofiler ue
    WHERE u.id = ue.id
    AND u.block !=1
    AND ue.approved =1
    AND ue.banned =0
    AND ue.confirmed =1
    AND u.gid
    IN ( 29, 19, 20, 21, 18, 18, 19, 20, 21, 30, 24, 23, 25, 23, 24, 25 ) 
    AND (
    cb_personengruppe = 'Athlet'
    )
    AND (
    YEAR( cb_geburtstag ) >=1988
    )
    ORDER BY cb_geburtstag ASC 
    LIMIT 0 , 30

    hatte nicht daran gedacht, dass es vielleicht mit dem Feldtyp zusammenhängt, aber so gehts jetzt!

    Eine Frage noch: kann man kein SUBSTRING auf den Feldtypen DATE anwenden?

    grüße BeeTel
     

  4. #4
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Das dürfte schwierig sein, da es verschiedene DATE-Formate gibt und somit die Regel nicht immer zutreffen dürfte. Denn in MySQL kann man auch vom amerikanischen auf das deutsche Datumsformat umschalten.
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

Ähnliche Themen

  1. Problem bei der Erstellung/Abfrage einer Tabelle (MySql)
    Von spikaner im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 12.04.08, 09:43
  2. MySQL: LEFT oder SUBSTRING?
    Von versuch13 im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 14.11.06, 16:43
  3. [C++] Problem mit einer MySql-Abfrage DRINGEND!
    Von d-Stench im Forum .NET Datenverwaltung
    Antworten: 5
    Letzter Beitrag: 30.06.06, 00:34
  4. Problem mit einer MySQL-Abfrage - Wo liegt hier der Fehler?
    Von Eistee im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 17.02.05, 17:35
  5. Antworten: 3
    Letzter Beitrag: 28.07.03, 10:08