Ostot myymälöittäin (SQL)

Kysymys: Meillä on 3 myymälää, joiden ostoja haluamme seurata. Miten seuranta kannattaa toteuttaa ja miten saan tulostettua listat?

Asterissa seuranta voidaan toteuttaa joko laskukohtaisesti (yksi lasku kohdistuu yhteen myymälään) tai tuoterivikohtaisesti (yksi lasku kohdistuu yhteen tai useampaan myymälään)

Tapa 1: Yksi lasku kohdistuu yhteen myymälään Myymälän tunnus syötetään joko tavaran selitteen alkuun (selostus) tai valuutta -kenttään. Tehdään SQLkysely, kysymykset myymälätunnus, alku- ja loppupäivä

SELECT
[Ostolaskut].[Myyjän nimi] as myyja,
[Ostolaskut].[Laskun pvm] as pvm,
[Ostolaskut].[Laskunnumero] as lsno,
[Tavaran selostus] as selite,
[Summa]
FROM Ostolaskut

WHERE [Tavaran selostus] like ’%1*’
AND CDate(Ostolaskut.[Laskun pvm]) BETWEEN DateValue(’%2’) AND DateValue(’%3’)
ORDER BY [Ostolaskut].[Laskun pvm]

Tapa 2: Yksi lasku kohdistuu yhteen tai useampaan myymälään Laskun tiliöintivälilehdellä kp kust.p kenttään kirjataan myymälän tunnus Tehdään SQLkysely, kysymykset myymälätunnus, alku- ja loppupäivä

SELECT
[Ostolaskut].[Myyjän nimi] as myyja,
[Ostolaskut].[Laskun pvm] as pvm,
[Ostolaskut].[Laskunnumero] as lsno,
[Tiliöintirivit].[Kirjanp kp] as kp,
[Tiliöintirivit].[Selite] as selite,
[Tiliöintirivit].[Summa] as summa

FROM Ostolaskut
INNER JOIN Tiliöintirivit ON Ostolaskut.Laskuntunniste = Tiliöintirivit.Laskuntunniste

WHERE [Tiliöintirivit].[Kirjanp kp] = ’%1’
AND CDate(Ostolaskut.[Laskun pvm]) BETWEEN DateValue(’%2’) AND DateValue(’%3’)
ORDER BY [Ostolaskut].[Laskun pvm]