Fråga : Hur kan jag inkludera månader med nolla, ror i Salar vid den Månad rapporten

Hi grabbar,

I har TSQL som får mig datan för visningreor för en rapport/grafvid månad.  Emellertid stunden som den går det korrekt tillbaka, värderar, om det finns inget ror för en särskild månad ingenting gås tillbaka.  I ett sådan läge jag behöver att gå ett extra tillbaka ror med en nolla värderar för varje saknad månad.

How kan bäst I uppnå denna behar?  

Chris Bray
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
" codeBody " " ÅR för >SELECT för class= " för
" klar "

Svar : Hur kan jag inkludera månader med nolla, ror i Salar vid den Månad rapporten

>> igen, inte helt praktiskt.  Vi skulle avslutar med ett enormt bordlägger upp med dagligt från MinDate till inklusive MaxDate.  Det måste att finnas ett bättre långt? <>
Jag instämm.

Skapa en bordlägga av sekventiellt numrerar, i stället -- ”en etikett” bordlägger, om du inte har redan en.
Därefter du kan göra något likt nedanfört.

BETRÄFFANDE: mekaniker av etiketten bordlägger::
Precis sekventiellt numrerar från 0 till, allt vad, något att säga 100.000.  Specificera ett unikt samla i en klunga index på numrera, med en fillfactor av 100 (detta bordlägger ska aldrig uppdateras, eller insatt mellan existerande ror, så där är inget behov för freespace i bordlägga).  För max kapacitet uppsättning det till skrivskytt (if/when du behöver att tillfoga ror, naturligt dig skulle tillfälligt uppsättningen det till updateable igen).
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
FÖRKLARA @startDatedatetime
FÖRKLARA @endDatedatetime

VÄLJ ÅRET (DATEADD (MÅNADEN, sn.num, TransactionDate)) SOM TransactionYear,
MÅNAD (DATEADD (MÅNADEN, sn.num, TransactionDate)) SOM TransactionMonth,
SUMMA (sammansmälta (BaseDebitAmount, 0) - sammansmälter (BaseCreditAmount, 0)) SOM GrossMonthlySales

FRÅN sequentialNumbersTable sn 
LÄMNAT YTTRE SAMMANFOGA GeneralJournal PÅ TransactionDate MELLAN DATEADD (MÅNADEN, sn.num, @startDate) OCH DATEADD (ms, -3, DATEADD (MÅNADEN, sn.num + 1, @startDate))

VAR sn.tally MELLAN 0 OCH DATEDIFF (MÅNAD, @startDate, @endDate)
OCH… annat villkorar som innan…,
Andra lösningar  
 
programming4us programming4us