Luettelo tyhjistä maksajista (SQL)

Kysymys: Kuinka saan luettelon niistä (esim. vuokratalon) huoneistoista, joissa ei ole ollut maksajaa esim. tietyssä kuussa?

Vastaus: Katsotaan Laskurivit-taulukosta nollasummaiset SQL-kyselytilastollaseuraavasti:

SELECT * FROM (SELECT Huoneistot.[Porras ja huoneisto], Sum(Laskurivit.Summa)

AS Laskutettu FROM Huoneistot INNER JOIN Laskurivit ON Laskurivit.Huoneisto

= Huoneistot.ID WHERE CDate(Laskurivit.Eräpäivä) BETWEEN

DateValue('%1') AND DateValue('%2') GROUP BY Huoneistot.[Porras ja huoneisto])

WHERE Laskutettu = 0 UNION *SELECT * FROM (SELECT Huoneistot.[Porras ja

huoneisto], Count(Eräpäivä) AS Laskutettu FROM Huoneistot

INNER JOIN Laskurivit ON Laskurivit.Huoneisto = Huoneistot.ID WHERE NOT

ISNULL(Laskurivit.Eräpäivä) AND CDate(Laskurivit.Eräpäivä)

BETWEEN DateValue('%1') AND DateValue('%2') GROUP BY Huoneistot.[Porras

ja huoneisto]) WHERE Laskutettu = 0 UNION *SELECT * FROM (SELECT Huoneistot.[Porras

ja huoneisto], Count(Eräpäivä) AS Laskutettu FROM Huoneistot

INNER JOIN Laskurivit ON Laskurivit.Huoneisto = Huoneistot.ID WHERE ISNULL(Laskurivit.Eräpäivä)

GROUP BY Huoneistot.[Porras ja huoneisto]) WHERE Laskutettu = 0 UNION *SELECT

[Porras ja huoneisto], 0 AS Laskutettu FROM Huoneistot WHERE ID NOT IN

(SELECT Huoneisto FROM Laskurivit WHERE CDate(Laskurivit.Eräpäivä)

BETWEEN DateValue('%1') AND DateValue('%2') GROUP BY Huoneisto)

Kysymys %1 on ensimmäinen mukaan otettava eräpäivä

Kysymys %2 on viimeinen mukaan otettava eräpäivä

Kysely ottaa mukaan samalle listaukselle

Huom! Jos Sinulla on jossakin kuussa esim. lukemalaskuja (esim. eräpäivällä 18.11.2020), ne estävät huoneistoa näkymästä tyhjänä, jos otat listauksen esim. 1.11.2020-30.11.2206. Ota sen sijaan listaus tarkalta normaalivuokrien eräpäivältä, esim. 5.11.2020 5.11.2020, jolloin saat listalle ne, jotka ovat nollaa normaalivuokrien osalta.


Katso muotoiltuna asteri.fi puolella: Luettelo tyhjistä maksajista (SQL)
Sivua päivitetty 2020-10-22 16:23:24
Atsoft Oy Mäkinen // Asteri Ohjelmat // puh (09)350 7530 // atsoft@atsoft.fi // asteri.fi // kelta-vihreä etusivu