Huoneiston osakemäärä, huoneluku ja pinta-ala sekä maksajan tavoitteet valitulta jaksolta (SQL

Kysymys: Kuinka saan listattua huoneiston osakemäärän, huonemäärän ja pinta-alan sekä maksajan tavoitteet valitulta jaksolta?

Vastaus: SQL-kyselytilastolla seuraavasti:

  • Valitse Tulosta | Kyselytilastot (SQL) | Luo kyselyitä
  • Valitse vasemman yläkulman alaspudotuslistasta seuraava vapaa määrittämätön kysely ja anna sille sopiva nimi, esim. ”Osakkeet, huoneistot ja tavoitteet”
  • Kopioi jonpi kumpi alla oleva SQL-lause (maalaus ja ctrl+C = kopioi) ja liitä (ctrl+V = liitä) se isännöintiohjelman sql-kyselytoiminnon isoon tekstikenttään
  • Poista tähti * unionin ja selectin välistä

A. Seuraavalla SQL-kyselyllä saat tulosteen, jossa näkyy mm. huoneiston osakemäärä, huoneluku ja pinta-ala sekä maksajan tavoitteet valitulta jaksolta:

SELECT Huoneistot.ID, Huoneistot.[Porras ja huoneisto], Huoneistot.[Osakkeita kpl], Huoneistot.Huoneita,

Huoneistot.[Pinta-ala yj], Maksajat.Nimi, Maksajat.Osoite, Maksajat.Paikka, Sum(Laskurivit.Summa) AS Tavoite

FROM Huoneistot INNER JOIN (Laskurivit INNER JOIN Maksajat ON Laskurivit.Maksaja = Maksajat.ID)

ON Huoneistot.ID = Laskurivit.Huoneisto WHERE CDate(Laskurivit.Eräpäivä) BETWEEN DateValue(’%1’) AND DateValue(’%2’)

GROUP BY Huoneistot.ID, Huoneistot.[Porras ja huoneisto], Huoneistot.[Osakkeita kpl], Huoneistot.Huoneita,

Huoneistot.[Pinta-ala yj], Maksajat.Nimi, Maksajat.Osoite, Maksajat.Paikka ORDER BY Huoneistot.ID

Kysymys %1 on jakson alkamispäivä.

Kysymys %2 on jakson päättymispäivä.

B. Oheisella kyselyllä saat listaukseen myös ne, joilla ei tavoitteita ole (eli jos olet poistanut nollarivit Laskuriveistä):

SELECT Huoneistot.ID, Huoneistot.[Porras ja huoneisto], Huoneistot.[Osakkeita kpl], Huoneistot.Huoneita,

Huoneistot.[Pinta-ala yj], Maksajat.Nimi, Maksajat.Osoite, Maksajat.Paikka, Max(Tavoite) AS Laskutettu

FROM (SELECT Huoneistot.ID, Huoneistot.[Porras ja huoneisto], Huoneistot.[Osakkeita kpl], Huoneistot.Huoneita,

Huoneistot.[Pinta-ala yj], Maksajat.Nimi, Maksajat.Osoite, Maksajat.Paikka, Sum(Laskurivit.Summa) AS Tavoite

FROM Huoneistot INNER JOIN (Laskurivit INNER JOIN Maksajat ON Laskurivit.Maksaja = Maksajat.ID)

ON Huoneistot.ID = Laskurivit.Huoneisto WHERE CDate(Laskurivit.Eräpäivä) BETWEEN DateValue(’%1’)

AND DateValue(’%2’) GROUP BY Huoneistot.ID, Huoneistot.[Porras ja huoneisto], Huoneistot.[Osakkeita kpl],

Huoneistot.Huoneita, Huoneistot.[Pinta-ala yj], Maksajat.Nimi, Maksajat.Osoite, Maksajat.Paikka

UNION *SELECT Huoneistot.ID, Huoneistot.[Porras ja huoneisto], Huoneistot.[Osakkeita kpl], Huoneistot.Huoneita,

Huoneistot.[Pinta-ala yj], Maksajat.Nimi, Maksajat.Osoite, Maksajat.Paikka, 0 AS Tavoite FROM Huoneistot

INNER JOIN (Viitenumerot INNER JOIN Maksajat ON Viitenumerot.Maksaja = Maksajat.ID)

ON Huoneistot.ID = Viitenumerot.Huoneisto) GROUP BY Huoneistot.ID, Huoneistot.[Porras ja huoneisto],

Huoneistot.[Osakkeita kpl], Huoneistot.Huoneita, Huoneistot.[Pinta-ala yj], Maksajat.Nimi, Maksajat.Osoite,

Maksajat.Paikka ORDER BY Huoneistot.ID

Kysymys %1 on jakson alkamispäivä.

Kysymys %2 on jakson päättymispäivä.

  • 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 | Osakkeet, huoneistot ja tavoitteet