From e5d12c7aeafb38ec2c23f198364855423a470f35 Mon Sep 17 00:00:00 2001 From: emeric Date: Mon, 1 Feb 2016 12:57:43 +0100 Subject: [PATCH] [DB] Corrected total duration calculation in the stats of the track view --- src/database/Track.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/database/Track.cpp b/src/database/Track.cpp index 75b226ba..8ca5f038 100644 --- a/src/database/Track.cpp +++ b/src/database/Track.cpp @@ -128,7 +128,7 @@ Track::getStats(Wt::Dbo::Session& session, SearchFilter filter) { SqlQuery sqlQuery = generatePartialQuery(filter); - Wt::Dbo::Query query = session.query( "SELECT COUNT(DISTINCT t.id), SUM(t.duration) FROM track t INNER JOIN artist a ON t.artist_id = a.id INNER JOIN genre g ON g.id = t_g.genre_id INNER JOIN track_genre t_g ON t_g.track_id = t.id INNER JOIN release r ON r.id = t.release_id " + sqlQuery.where().get()); + Wt::Dbo::Query query = session.query( "SELECT COUNT(\"id\"), SUM(\"dur\") FROM (SELECT t.id as \"id\", t.duration as \"dur\" FROM track t INNER JOIN artist a ON t.artist_id = a.id INNER JOIN genre g ON g.id = t_g.genre_id INNER JOIN track_genre t_g ON t_g.track_id = t.id INNER JOIN release r ON r.id = t.release_id " + sqlQuery.where().get() + " GROUP BY t.id)"); for (const std::string& bindArg : sqlQuery.where().getBindArgs()) query.bind(bindArg);