Question : Comment est-ce que je peux renvoyer une rangée factice en jeu de résultat ?

La question suivante fait un compte de rangées groupées par Date et personne de ventes.  Je dois donner à toute la personne de ventes de dates sans des rangées un compte de zéro. Y a-t-il une manière de faire ceci dans la question elle-même ? class= " lineNumbers " >
1 de >


SELECT " de
0) ET (le <> (s.saleEventStatus) " cessent "))
GROUPE PAR s.eventStartDate, s.salesPersonID
AYANT (((s.eventStartDate) entre #7/4/2010# et #7/10/2010#));
class= > " clair " de 
class= de

Réponse : Comment est-ce que je peux renvoyer une rangée factice en jeu de résultat ?

Pour prendre à cyberkiwi une mesure autre vous pourriez essayer le suivant.  LÀ OÙ Richard a choisi de choisir date DISTINCTE, combinaisons de personnes, ce qui suit renverra un cartésien se joint de la date/des personnes (différence subtile).

eDatePeople.eventStartDate CHOISI, eDatePeople.SalesPersonID, compte (S3.SalesEventID) comme CountEvent
DE (
CHOISIR eDates.EventStartDate, ePeople.SalesPersonID
DE
(S1.eventStartDate DISTINCT CHOISI de S1 smd_salesEvent
LÀ OÙ S1.EventStartDate ENTRE #7/4/2010# et #7/10/2010#
ET S1.SaleTypeID = 1 ET S1.StoreID <> 0 ET S1.SaleEventStatus <> « cessent ») comme eDates,
(S2.salesPersonID DISTINCTS CHOISIS de S2 smd_salesEvent
LÀ OÙ S2.EventStartDate ENTRE #7/4/2010# et #7/10/2010#
ET S2.SaleTypeID = 1 ET S2.StoreID <> 0 ET S2.SaleEventStatus <> « cessent ») comme ePeople
) comme eDatePeople
La GAUCHE JOIGNENT S3 smd_salesEvent
SUR eDatePeople.eventStartDate = S3.eventStartDate
ET eDatePeople.SalesPersonID = S3.SalesPersonID
GROUPE PAR eDatePeople.eventStartDate, eDatePeople.SalesPersonID

Ceci a deux sous-questions qui choisissent les dates distinctes (eDates) et les personnes distinctes (ePeople) qui correspondent aux critères que vous avez choisis.  Il les fusionne alors dans un cartésien se joignent (eDatePeople) qui te donne chaque combinaison de chaque date/personne pour ces critères.  Enfin il joint l'eDatePeople de nouveau à smd_SalesEvent pour obtenir le compte de SalesEventID pour chaque combinaison de date/personne.

Ce qu'il ne fait pas est de garantir que vous aurez toutes les dates ce qui se produisent entre votre début et date de fin, puisque les autres critères pourraient renvoyer les disques zéro, ou un certain sous-ensemble de valeurs.  Il renvoie également seulement des disques pour ces personnes de ventes qui ont au moins un disque qui répond à vos critères.  Si une personne est des vacances ou ne participait pas à n'importe quel événement de ventes au cours de la période spécifique, leur nom n'apparaîtra pas du tout.

Si vous voudriez s'assurer que toutes les dates pendant une période sont retournées, vous pourriez employer une table des dates pour fournir la partie d'eDates de la question au lieu de la sous-question que j'ai employée.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us