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:

  • 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