Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Unbekanntes Tabellenfeld in Where-Clausel [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Unbekanntes Tabellenfeld in Where-Clausel


 
Powerplay
26-06-2003, 14:45 
 
Hallo zusammen

Bei der folgenden Abfrage erhalte ich die Meldung, dass sich ein unbekanntes Tabellenfeld in der Where-Clausel befinden...

SELECT SP.spiel_id,
SP.runde,
SP.datum,
SUBSTRING(SP.spiel_id,4,4) AS saison,
DATE_FORMAT(SP.datum, '%d.%m.%Y') AS MyDatum,
SP.zeit,
TIME_FORMAT(zeit, '%k.%i') AS MyZeit,
H.vereinsname AS hvereinsname,
G.vereinsname AS gvereinsname
FROM tblspielplan_nla SP
LEFT OUTER JOIN tblvereine H ON SP.heim = H.id_verein
LEFT OUTER JOIN tblvereine G ON SP.gast = G.id_verein
WHERE SP.datum='$gdatum' AND saison='$lsaison'"

Ich denke mal, dass es daran liegt, weil ich in der Where-Clausel auf ein Feld (saison) zugreife, dass ich in der Abfrage berechnet habe (SUBSTRING(SP.spiel_id,4,4) AS saison). Kann man das irgendwie umgehen, damit man die Abfrage anhand des Feldes saison eingrenzen kann? Oder liegt der Fehler an einem anderen Ort?

Danke für eure Hilfe.

 
Abraxax
26-06-2003, 15:17 
 
HAVING ist wohl deine lösung... ;)$sql = "SELECT SP.spiel_id,
SP.runde,
SP.datum,
SUBSTRING(SP.spiel_id,4,4) AS saison,
DATE_FORMAT(SP.datum, '%d.%m.%Y') AS MyDatum,
SP.zeit,
TIME_FORMAT(zeit, '%k.%i') AS MyZeit,
H.vereinsname AS hvereinsname,
G.vereinsname AS gvereinsname

FROM tblspielplan_nla SP
LEFT OUTER JOIN tblvereine H ON SP.heim = H.id_verein
LEFT OUTER JOIN tblvereine G ON SP.gast = G.id_verein

WHERE SP.datum='".$gdatum."'

HAVING SUBSTRING(SP.spiel_id,4,4) = '".$lsaison."'";UNGETESTET

 
Powerplay
26-06-2003, 15:36 
 
Funzt... Danke dir, wusste nicht, dass man WHERE und HAVING kombinieren kann.

 
Abraxax
26-06-2003, 15:38 
 
ja das geht, wie man sieht. ;)

goldene regel: wenn du FKTs in where haben musst, MUSST du HAVING nehmen. :teach:


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:41 Uhr.