Kysymys: Kuinka saan luettelon niistä (esim. vuokratalon) huoneistoista, joissa ei ole ollut maksajaa esim. tietyssä kuussa?
Vastaus: Katsotaan Laskurivit-taulukosta nollasummaiset SQL-kyselytilastollaseuraavasti:
- Valitse Tulosta | Kyselytilastot (SQL) | Luo kyselyitä
- Valitse vasemman yläkulman alaspudotuslistasta seuraava vapaa määrittämätönkysely ja anna sille sopiva nimi, esim. ”Luettelo tyhjistä maksajista”
- Kopioi alla oleva SQL-lause (maalaus ja ctrl+C = kopioi) ja liitä(ctrl+V = liitä) se isännöintiohjelman sql-kyselytoiminnonisoon tekstikenttään
- Poista tähti * unionin ja selectin välistä
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
- ne joissa laskurivit ovat jakson aikana nollaa
- ne joissa laskurivejä ei jaksolla ole
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.
- Paina tallenna ja/tai suorita, jolloin näet taulukossa haluamasi tiedot
- Käytettävissäsi on Tulosta-valikon paperitulosteet ja Muokkaa-valikon erilaiset leikepöytäkopiointiversiot.
- Seuraavilla käyttökerroilla saat tulosteen suoraan valinnalla Tulosta | Kyselytilastot (SQL) | Valmiit kyselyt | Luettelo tyhjistä maksajista