ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
738
738
EMPFEHLEN
-
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
BeetelGeä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!
-
24.04.07 15:21 #2
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
-
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
-
24.04.07 16:07 #4
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
-
Problem bei der Erstellung/Abfrage einer Tabelle (MySql)
Von spikaner im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 12.04.08, 09:43 -
MySQL: LEFT oder SUBSTRING?
Von versuch13 im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 14.11.06, 16:43 -
[C++] Problem mit einer MySql-Abfrage DRINGEND!
Von d-Stench im Forum .NET DatenverwaltungAntworten: 5Letzter Beitrag: 30.06.06, 00:34 -
Problem mit einer MySQL-Abfrage - Wo liegt hier der Fehler?
Von Eistee im Forum Relationale DatenbanksystemeAntworten: 8Letzter Beitrag: 17.02.05, 17:35 -
Problem mit einer Variable bei einer Mysql-Abfrage in php
Von Blaschki im Forum PHPAntworten: 3Letzter Beitrag: 28.07.03, 10:08





Zitieren
Login





