Moin, moin!
Ich nutze in einem Subselect GROUP-CONCAT um mehrere Felder in einer Variablen auszugeben, was soweit auch funktioniert. Dabei können auch mehrere Ergebnisse zutreffend sein und zusammen mit dem eigentlcihen DS ausgegeben werden.
In diesem Subselect gibt es auch Datumsfelder. Dabei ist das Feld 'bis' wichtig. Ist nämlich 'bis' überschritten, so soll GROUP_CONCAT diesen Datensatz ignorieren.
Eigentlich bin ich davon ausgegangen, dass ... WHERE Now() < bis ... im Subselect diesen DS ausschließen würde, doch leider gibt es immer einen Syntax-Fehler, der leider nicht genauer definiert ist und sogar auf ein weiteres Subselect, indem gezählt wird, verweist.
Das funktionierende Statment:
Füge ich GROUP_CONCAT nun noch die Bedingung hinzu
dann gibt es den Syntaxfehler.
Vielleicht ist es ja auch einfach nicht möglich.
Da es aber auch DS gibt die überhaupt keinen zeitlichen Eintrag haben, macht es keinen Sinn erst am Ende des Selects die zeitliche Eingrenzung abzufragen.
Hat jemand einen Rat?
Gruß Franz
Ich nutze in einem Subselect GROUP-CONCAT um mehrere Felder in einer Variablen auszugeben, was soweit auch funktioniert. Dabei können auch mehrere Ergebnisse zutreffend sein und zusammen mit dem eigentlcihen DS ausgegeben werden.
In diesem Subselect gibt es auch Datumsfelder. Dabei ist das Feld 'bis' wichtig. Ist nämlich 'bis' überschritten, so soll GROUP_CONCAT diesen Datensatz ignorieren.
Eigentlich bin ich davon ausgegangen, dass ... WHERE Now() < bis ... im Subselect diesen DS ausschließen würde, doch leider gibt es immer einen Syntax-Fehler, der leider nicht genauer definiert ist und sogar auf ein weiteres Subselect, indem gezählt wird, verweist.
Das funktionierende Statment:
PHP Code:
SELECT *,tbl1.UserID,
(GROUP_CONCAT(DATE_FORMAT(zeitlich.von, '%d.%m.%Y'),' ', 'bis',' ',
DATE_FORMAT(zeitlich.bis, '%d.%m.%Y'),' - ',
zeitlich.bezeichnungzeit,' - ',zeitlich.beschreibungzeit
ORDER BY zeitlich.bis ASC,zeitlich.bezeichnungzeit ASC SEPARATOR ' +++ '))
AS Gesamtvar,
(SELECT count ... FROM tbl
INNER JOIN ... user ON ...
LEFT OUTER JOIN zeitlich ON ... WHERE ...
PHP Code:
... AS Gesamtvar WHERE Now() < zeitlich.bis,
Vielleicht ist es ja auch einfach nicht möglich.
Da es aber auch DS gibt die überhaupt keinen zeitlichen Eintrag haben, macht es keinen Sinn erst am Ende des Selects die zeitliche Eingrenzung abzufragen.
Hat jemand einen Rat?
Gruß Franz
Comment