Question : Table de consultation de SQL avec des références multiples basées sur le champ de date de mise à jour

Bonjour,

Trying pour enrouler ma tête autour de la meilleure approche avec ceci.  Une table dépiste le statut d'un membre du personnel avec quelque code ils choisissent.  Elle enregistre la date et le temps l'où ils font leur table de selection.

Another stocke la description des codes disponibles.  Il stocke également la date l'où ce code était mis à jour (qui peut également s'appliquer à lui étant créé).  Ainsi vous pourriez potentiellement faire répéter le même code mais avec différent dates.

So ce que je voudrais faire est de produire un rapport qui rapporte le code correct pour la date le choix a été fait.  Dans l'exemple joint, le code 2 du 20 août a signifié qu'ils étaient sur la coupure.  Mais pour le 23 août, le code 2 a changé en au téléphone.  Ainsi pendant tous les jours entre le 20 août et le 22 août il devrait le rapporter comme sur la coupure.  Après que le 23ème il devrait le rapporter comme au téléphone.  le

How ceci serait construit dans le SQL ? (J'inclus ma tentative faible et feable comme le ne fait pas elle travail) le
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
>SELECT " de l'id= " codeSnippet962739 de
= ref.LastUpdate
class= " lastRow de
>Attachments de " nom " de class= de
class= " valeur " de
>

class= " fileInfo " de
le title= " de " nom de fichier de class= " de SampleReport.xls le class= (16 KBS)  Javascript de href= " de " attachmentDetails de class= " de (type de dossier détails)  
class= " description " de
Tableaux d'exemple et output
prévu
le class= de
de >
class= de

Réponse : Table de consultation de SQL avec des références multiples basées sur le champ de date de mise à jour

Vous pourriez créer un calendrier de jours et joindre vos tables à lui
CRÉER LA FONCTION [dbo]. [DAY_CALENDAR]
(
      @StartDate TDATETIME,
      @EndDate TDATETIME
)
RETOURS
      TABLE de @DYCALENDAR
(
      DATE-HEURE de StartDate,
      DATE-HEURE d'EndDate,
      DATE-HEURE d'OnDay
)
AS
COMMENCER
      DÉCLARER LE @VARSTARTTIME TDATETIME, LE @VARENDTIME TDATETIME
      
      placer le @varStartTime = le DATEADD (densité double, 0, DATEDIFF (densité double, 0, le @StartDate))
      
      tandis que le @varStartTime <>      commencent
            placer le @varEndTime = le DATEADD (densité double, 1, le @varStartTime) --finir temps
            placer les @varRes = le @varStartTime
            
            insérer dans le @DYCALENDAR
            valeurs (@varStartTime, @varEndTime, @varStartTime)
            
            placer le @varStartTime = le @varEndTime
      extrémité            
      
      RETOUR
EXTRÉMITÉ
       
Question
CHOISIR *
De la notation de CodeLogging
INTÉRIEUR JOINDRE la référence de CodeReference SUR log.code = ref.code
INTÉRIEUR JOINDRE DAY_CALENDAR (08/01/2010', « 08/31/2010 ») LOGDAYS DESSUS
  (>= LOGDAYS.StartDate de log.date et notation. Date <� LOGDAYS="">
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