Witajcie!
Mam problem z zapytaniem do bazy MySQL - chciałbym zliczać czas trwania wydarzeń łącznie dla każdego miejsca, ale tylko tych wydarzeń które się już wydarzyły, tj. zapytanie musiało by mieć zawarty w jakiś sposób warunek jeśli DataZakonczeniaWydarzenia<NOW()
Kawałek bazy danych:
CREATE TABLE Miejsce(
Nazwa VARCHAR(11) NOT NULL PRIMARY KEY,
Adres VARCHAR(50)
);
CREATE TABLE Wydarzenie(
WydarzenieID INT AUTO_INCREMENT PRIMARY KEY,
Nazwa VARCHAR(10) NOT NULL,
DataRozpoczeciaWydarzenia DATETIME NOT NULL,
DataZakonczeniaWydarzenia DATETIME,
CzasTrwania TIME,
FOREIGN KEY (Nazwa) REFERENCES Miejsce(Nazwa)
);
Zrobiłem już takie zapytanie:
SELECT
Miejsce.Nazwa,
Miejsce.Adres,
DATE_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(Wydarzenie.CzasTrwania))),'%H:%i')
FROM Wydarzenie
RIGHT JOIN Miejsce
ON Wydarzenie.Nazwa=Miejsce.Nazwa
GROUP BY Miejsce.Nazwa
ORDER BY Miejsce.Nazwa;
- zlicza ładnie godziny wydarzeń, lecz wszystkie, nawet te które dopiero się odbędą. RIGHT JOIN zrobiłem ponieważ w wynikach mają się wyświetlać też miejsca dla których nie ma żadnych zadeklarowanych wydarzeń - a liczba godzin będzie po prostu pusta.
Z góry dzięki za pomoc :)