08. april 2008 - 08:22Der er
3 kommentarer og 1 løsning
sortere efter hver dag i en måned - og joine to tabeller
Jeg har to tabeller :
clicktrack:
Hver række indeholder det samlede antal clicks den pågældende dag. eks. id dato clicks 1. 2/4-2008 : 40 2. 3/4-2008 : 30
Jeg har nu brug for en query der viser alle dage i en måned og det samlede antal clicks pr. dag. Det kan ske at der ingen clicks har været den pågældende dag - og der derfor ikke er nogen række oprettet til dagen. I det tilfælde skal clicks for den dag sættes til 0.
Den anden tabel kaldet SalesTrack: id dato sale 1. 2/4-2008 1500DKK 2. 2/4-2008 500DKK 2. 3/4-2008 200DKK
Det skal også vises i resultatet sådan at har der været 2 salg den pågældende dag skal de lægges sammen eks. (1500+500 d. 2/4)
Resultatet skal se således ud:
id dato antalSalg Beloeb 1. 1/4-2008 0 0 0 1. 2/4-2008 40 2 2000 2. 3/4-2008 30 1 200 3. 4/4-2008 0 0 0 osv frem til d. 30
Kan nogen hjælpe med en sqlquery der kan lave en sådan forespørgsel.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
SET @year = 2008 SET @month = 4 SET @StartDate = cast(cast(@month as varchar(10)) + '-1-' + cast(@year as varchar(10)) as datetime) SET @EndDate = dateadd(m,1,@StartDate)
DECLARE @temp TABLE (Date_Time datetime)
SET @Date = @StartDate
While @Date < @EndDate BEGIN
INSERT INTO @temp SELECT @Date
SELECT @Date = dateadd(d,1, @Date) END
SELECT * from @temp LEFT JOIN ClickTrack on (ClickTrack.trackDate = Date_Time AND shopId = 1) END GO
jeg har fået fixet ovenstående sammen som virker fint til at vise antal clicks per dag og samtidig vise alle dagene i måneden - men hvordan får jeg også vist antal salg per dag.
ALTER PROCEDURE GetMonthlyClicksAndSales -- Add the parameters for the stored procedure here ( @shopId int, @trackMonth int, @trackYear int ) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
-- Insert statements for procedure here Declare @year int, @month int, @StartDate datetime, @EndDate datetime Declare @Date datetime
SET @year = 2008 SET @month = 4 SET @StartDate = cast(cast(@month as varchar(10)) + '-1-' + cast(@year as varchar(10)) as datetime) SET @EndDate = dateadd(m,1,@StartDate)
DECLARE @temp TABLE (Date_Time datetime)
SET @Date = @StartDate
While @Date < @EndDate BEGIN
INSERT INTO @temp SELECT @Date
SELECT @Date = dateadd(d,1, @Date) END
SELECT T.Date_Time, SUM(S.Amount) as Amount, count(*) as antalSalg , MIN(CT.Clicks) as Clicks from @temp T LEFT JOIN ClickTrack CT on CT.trackDate = T.Date_Time AND shopID = 1 LEFT JOIN TrackSales S ON S.ShopID=CT.ShopID AND CT.TrackDate=S.SaleDate GROUP BY T.Date_Time END GO
ny og forbedret version - men skal have nogen til at hjælpe med COUNT(*) - nu returneres der 1 - også selvom intet salg er foretaget den dag - er der lavet mere end 1 salg den pågældende dag - men dage hvor intet salg er foretaget skal rettes til 0.
prøver lige igen : skal have hjælp med COUNT(*) nu returneres der 1 - også selvom intet salg er foretaget den dag - er der lavet mere end 1 salg den pågældende dag er tallet der returneres korrekt - men dage hvor intet salg er foretaget skal returnere 0.
nå jeg knokler videre selv - kan desværre ikke vente længere på svar
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.