Re: Gültig von/bis



Oliver Benning schrieb:
Sebastian Suchanek wrote:
Oliver Benning schrieb:

[...]
Wie kann ich nun die Spiele aller Mannschaften selektieren, die vom
vorherigen Spieltag waren (SpielID 1 bis 4), ohne jetzt extra eine
Spielplan-Nummer einzuführen?
Ungetestet:

SELECT `TeamA-ID`, `TeamB-ID`
FROM spiele
WHERE GueltigVon < DATE_SUB(NOW(), INTERVAL 1 DAY)
AND GueltigBis > DATE_SUB(NOW(), INTERVAL 1 DAY)

Falls das so nicht funktioniert, solltest Du im MySQL-Handbuch
unter "Date and Time functions" nachschauen.

Der vorherige Spieltag bedeutet aber nicht unbedingt, daß er gestern gewesen sein muß, oder vor einer Woche. Bei der Winterpause war der vorherige Spieltag z.B. auch vor einigen Wochen.

Es soll also unabhängig von einem INTERVAL sein.

Abermals ungetestet:

(SELECT `TeamA-ID` AS Team
FROM spiele
WHERE DATE(GueltigBis) IN
(SELECT DISTINCT DATE(GueltigBis) AS Datum
FROM spiele
WHERE Datum < NOW()
ORDER BY Datum DESC LIMIT 1
)
)
UNION
(SELECT `TeamB-ID` AS Team
FROM spiele
WHERE DATE(GueltigBis) IN
(SELECT DISTINCT DATE(GueltigBis) AS Datum
FROM spiele
WHERE Datum < NOW()
ORDER BY Datum DESC LIMIT 1
)
)

Das liefert Dir - so es funktioniert ;-) - auch gleich alle Teams in einer Spalte. Diese Query braucht allerdings aufgrund der Subqueries MySQL mindestens in der Version 4.1, ansonsten mußt Du die Subqueries auf die Applikationsebene auslagern.


HTH,

Sebastian
.



Relevant Pages

  • Re: Funktion if update(Spalte) im Trigger???
    ... FROM deleted d INNER JOIN inserted i ON ... WHERE d.TabId IN (SELECT d.TabId ... dann soll in einer Historientabelle der alte Status mit Datum und Benutzer ...
    (microsoft.public.de.sqlserver)
  • Re: 3 SQL Abfragen in 1
    ... Die einzelnen Felder müssen nun mit dem Inhalt der SQL Abfrage gefüllt ... SELECT FPWRNr, maxas Erlaubt, maxas Verboten FROM ... (SELECT FPWRNr,'' As Erlaubt, FPWRLand as Verboten FROM tbFWPReise WHERE ...
    (microsoft.public.de.sqlserver)
  • Re: Freie Zimmer gesucht (aus datenbank)
    ... (SELECT id FROM bookings b WHERE ... roomno=r.id AND ...
    (de.comp.datenbanken.mysql)
  • Re: Problem mit einer SQL Abfrage
    ... FROM (SELECT * FROM A WHERE active is null) c ... LEFT JOIN (SELECT * FROM B where restituion is null) d ...
    (de.comp.datenbanken.mysql)
  • Re: SQL-Patches verwalten
    ... IF NOT EXISTS (SELECT * FROM CONFIGTABLE WHERE ...) THEN ...
    (de.comp.datenbanken.misc)

Loading