MayaLabs Discussion Area

Suomeksi (Finnish only) => MLInvoiceen liittyvä keskustelu => Topic started by: Mihail on 10.09.11 - klo:20:00

Title: Mysliloitsuja raportteja varten
Post by: Mihail on 10.09.11 - klo:20:00
Rakastan raportteja, joten tein muutamat mysliloitsut laskutusyhteenvetojen laskemiseen. Jaan ne tänne, sillä toivon, että nämä queryt helpottavat raporttitoiminnallisuuden kehitystä ja johtavat parempien raporttien integroimiseen osaksi Vllaskua.

yksittäiset laskut asiakaskohtaisesti näyttäen yksittäiset laskut, laskurivien määrän ja laskun summat

SELECT vllasku_company.company_name,
vllasku_company.street_address,
vllasku_company.city,
vllasku_company.zip_code,
vllasku_company.billing_address,
vllasku_invoice.invoice_no,
vllasku_invoice.invoice_date,
count(vllasku_invoice_row.id) AS laskurivit,
sum(vllasku_invoice_row.pcs*vllasku_invoice_row.price) AS hinta
FROM vllasku_company INNER JOIN vllasku_invoice ON vllasku_company.id = vllasku_invoice.company_id
INNER JOIN vllasku_invoice_row ON vllasku_invoice_row.invoice_id = vllasku_invoice.id
LEFT OUTER JOIN vllasku_product ON vllasku_invoice_row.product_id = vllasku_product.id
GROUP BY vllasku_invoice.invoice_no
ORDER BY vllasku_company.company_name ASC, vllasku_invoice.invoice_date ASC


Laskutusyhteenveto asiakaskohtaisesti, laskujen määrät ja yhteissummat
SELECT vllasku_company.company_name,
vllasku_company.street_address,
vllasku_company.zip_code,
vllasku_company.city,
vllasku_company.billing_address,
count(distinct(vllasku_invoice.invoice_no)) AS laskut,
sum(vllasku_invoice_row.pcs*vllasku_invoice_row.price) AS hinta
FROM vllasku_company INNER JOIN vllasku_invoice ON vllasku_company.id = vllasku_invoice.company_id
INNER JOIN vllasku_invoice_row ON vllasku_invoice_row.invoice_id = vllasku_invoice.id
LEFT OUTER JOIN vllasku_product ON vllasku_invoice_row.product_id = vllasku_product.id
GROUP BY vllasku_company.company_name
ORDER BY hinta DESC


Kyselyt vaikuttavat toimivan omassa Vllaskussani, en kuitenkaan ole SQL-asiantuntija, joten kyselyiden rakenteessa voi olla toivomisen varaa
Title: RE: Mysliloitsuja raportteja varten
Post by: Ere Maijala on 11.09.11 - klo:12:44
Kiitoksia näistä, hyviä ajatuksia raporttien kehittämiseksi. En nyt varsinaisesti käynyt läpi kyselyjä, mutta yksi pikainen huomio: kannattaa groupata vllasku_invoice.id:n mukaan eikä vllasku_invoice.invoice_no:n mukaan. Jälkimmäinen ei ole välttämättä yksilöivä (esim. kahdella eri laskuttajalla voi olla sama laskunumero). Lisäksi deleted-kenttä olisi hyvä huomioida kyselyissä, muuten mukaan tulevat myös poistetut tietueet.

--Ere