Hej. Behöver hjälp med en selectfråga. Lite hjälp kanske... Select fråga med Count
Jag vill få ut antalet affärer gjorda av nya kunder. Jag jobbar med två tabeller:
-Faktura (ej rad)
-Redovisningstransaktioner
Kopplingen mellan dessa är:
Faktura.Nr = Redovisningstransaktioner.Verifikationsnr
Faktura.Kundnr = Redovisningstransaktioner.Ursprungsnr
Anntalet affärer gjorda av nya kunder baseras på den första fakturan och de fakturor som skapats 30 dagar framåt från den första.
Varje faktura genererar x antal rader i Redovisningstransaktioner
(beroende på hur många fakturarader fakturan har). Ex:
Faktura 111 (med kundnr 222)
har...
Fakturarad 1
Fakturarad 2
Vilket ger följande i Red.transtabellen:
[Löpnr],[Ver.nr],[Ver.löpnr], [Ursprungsnr],[Bokföringsdatum]
1 111 1 222 060618
2 111 2 222 060618
(Löpnr är en räknare i Red.transtabellen, Vernr är alltså fakturanummret, Ver.löpnr är fakturaradernas löpnr,
Ursprungsnr är fakturans kundnr och Bokföringsdatum är det datum fakturan med dess rader bokfördes).
Jag skulle alltså vilja leta upp första fakturan i Redovisningstransaktions tabellen (borde man väl kunna få ut via
Löpnr,Bokföringsdatum),göra en Distinct COUNT (distinct för att inte få med alla raderna från fakturan
för jag vill ju bara räkna en faktura som en affär) på antalet rader
från första fakturan och sedan plocka ut (på samma sätt) de fakturor som skapats 30 dagar efter den första.
Har dock ett problem. Jag kan inte översätta detta till någon vettig select fråga så jag behöver hjälp.
Kan någon ge det ett försök. Sv: Select fråga med Count
För att få ut första datumet en kund hade en faktura.
select min(createdate) from faktura where faktura.kundnummer = 123
För att få ut de som ligger inom 30 dagar (ungefär så här)
select * from faktura
where datediff(d, (select min(fakturadatum) from faktura where faktura.kundnummer = 123), fakturadatum) < 30
AND faktura.kundnummer = 123