SQL-fråga

Hej! Jag har två frågor:

Först, var kan kan hitta en lista över tabeller och fält i databasen, och helst en specifikation av vad fälten representerar, då en del har mer eller mindre kryptiska namn?

Min andra fråga är, kan ni föreslå hur jag söka fram summa av fakturering på kunder men begränsat till vissa artiklar eller artikelgrupper? Jag har gjort en enklare variant med hela totalen, enligt nedan, baserat på ett exempel från forumet som ursprungligen gjorde samma sak för leverantörer:

select kund.name as Kund, sum(kundfakt.beloppsek)/1.25 as Årstotal from kundfakt left join kund on kundfakt.kundid=kund.id where (kundfakt.FaktDatum
BETWEEN '2022-01-01' AND '2022-12-31') GROUP BY [KundFakt].[KundId], Kund.Name ORDER BY Sum([KundFakt].[BeloppSek]) DESC

Är det genomförbart att begränsa det till en lista av artiklar eller artikelgrupper? Måste man joina mot både fakturarader och artiklar?

Mvh Hans

Kommentarer

  • Hej Hans!

    Det finns tyvärr ingen förteckning över de tabeller/datafält som programmet innehåller. Om du har Access installerat kan du öppna filen Ftgdata.mdb i ett lokalt företag (t ex Övningsbolaget) för att se tabellerna.

    Så här kan frågan se ut om du vill se vad som är sålt av vissa artiklar under en viss tidsperiod:

    SELECT ord.Kundid, ord.name as Kund, SUM(orderln.prisnetto) as [Försäljning exkl moms] FROM ord
    inner join orderln on ord.ordernr=orderln.ordernr
    where ord.FaktDatum BETWEEN '2022-01-01' AND '2022-12-31' and uppdaterad=1 and (orderln.prodnr='005' or orderln.prodnr='006' or orderln.prodnr='007')
    group by ord.kundid, ord.name
    order by ord.kundid

    Försäljningen är exkl moms (minus ev rabatter). Ändra datumintervall som du vill och fyll på med de artiklar som du vill se.

    Om du istället vill selektera efter varugrupp kan du skriva:

    SELECT ord.Kundid, ord.name as Kund, SUM(orderln.prisnetto) as [Försäljning exkl moms] FROM ((ord
    inner join orderln on ord.ordernr=orderln.ordernr)
    inner join prod on prod.prodnr=orderln.prodnr)
    where ord.FaktDatum BETWEEN '2022-01-01' AND '2022-12-31' and uppdaterad=1 and prod.prodgr='101'
    group by ord.kundid, ord.name
    order by ord.kundid
    Jörgen Support
  • Perfekt, tackar!

    Hans


  • Denna dokumentation säger att tabeller och kolumner finns listade, ändra den om den är felaktig.

    Rolf
    Arbetsgång
    1. Välj Arkiv-Systemunderhåll-SQL-fråga.
    2. Skriv en SQL-fråga i fältet SQL-fråga längst upp till vänster i fönstret eller välj en tidigare sparad fråga i fältet Sparade frågor. Använd listorna under Tabeller och fält för att få hjälp med namnen på vanliga tabeller och fält i databasen.
    3. Välj knappen Test för att köra frågan och testa om den fungerar. Ett begränsat antal av resultaten visas i fönstrets nedre halva.
    4. Välj knappen Spara om du skapat en ny fråga och vill spara den för att använda senare.
    5. Välj knappen Excel eller Textfil för att exportera hela resultatet av frågan till Excel eller exportera till en textfil.
    Rolf
  • Hej Rolf!

    Du har tyvärr rätt i att arbetsgången ovan inte riktigt stämmer. Vi ändrar det i manualen. Tack för påpekandet.
    Jörgen Support

Kommentera eller skriv ett nytt inlägg

Ditt namn och inlägg kan ses av alla. Din e-post visas aldrig publikt.

Mitt inlägg förmodereras innan eventuell publicering. Jag har tagit del av policyn för personuppgifter och innehåll.