· 8 years ago · Jan 29, 2018, 12:36 PM
1SELECT * FROM Table1 LEFT JOIN (SELECT * FROM table2 WHERE dat = (SELECT MAX(dat) FROM table2 as wdTot WHERE wdTot.apId = table2.apotheekId) ORDER BY datum DESC) as wd ON Table1.id = wd.apId WHERE wd.aantalArtikelen IS NOT NULL AND wd.apId NOT IN ('14', '26') GROUP BY Table1.id ORDER BY wd.totaleWaarde DESC, Table1.naam DESC;
2
3CREATE TEMPORARY TABLE IF NOT EXISTS temp1 AS SELECT
4 *
5 FROM
6 winkeldochtersTotaal
7 LEFT JOIN
8 winkeldochtersTotaal AS wdTot
9 ON wdTot.apotheekId = winkeldochtersTotaal.apotheekId
10 AND winkeldochtersTotaal.datum < wdTot.datum
11 WHERE
12 1 = 1
13 AND winkeldochtersTotaal.apotheekId NOT IN (
14 '14', '26'
15 )
16 AND wdTot.datum IS NULL
17 ORDER BY
18 winkeldochtersTotaal.datum DESC;
19
20SELECT
21 *
22 FROM
23 apotheek
24 LEFT JOIN
25 temp1 AS wd
26 ON apotheek.id = wd.apotheekId
27 WHERE
28 wd.aantalArtikelen IS NOT NULL
29 AND 1 = 1
30 GROUP BY
31 apotheek.id
32 ORDER BY
33 wd.totaleWaarde DESC,
34 apotheek.naam DESC