J'ai un ensemble d'enregistrements dans ma table MS SQL. Avec Date comme clé primaire. Mais les dates sont seulement pour les jours ouvrables et non les jours continus. Par exemple:Comment obtenir l'enregistrement suivant dans la table SQL
1/3/2000 12:00:00 AM 5209,540000000 5384,660000000 5209,540000000 5375,110000000 1/4/2000 12:00:00 AM 5533,980000000 5533,980000000 5376,430000000 5491,010000000 1/5/2000 12:00:00 AM 5265,090000000 5464,350000000 5184,480000000 5357,000000000 1/6/2000 12:00:00 AM 5424,210000000 5489,860000000 5391,330000000 5421,530000000 1/7/2000 12:00:00 AM 5358,280000000 5463,250000000 5330,580000000 5414,480000000 1/10/2000 12:00:00 AM 5617,590000000 5668,280000000 5459,970000000 5518.390000000 1/11/2000 12:00:00 AM 5513.040000000 5537.690000000 5221.280000000 5296.300000000 1/12/2000 12:00:00 AM 5267.850000000 5494.300000000 5267.850000000 5491.200000000 J'essaie d'introduire une nouvelle colonne dans la table et la valeur doit être la valeur de la 3ème colonne moins la valeur de la 3ème colonne du jour ouvrable précédent. S'il vous plaît aidez-moi à écrire une telle requête. Je trouve cela difficile car les dates ne sont pas présentes pour les fins de semaine.
Vous pouvez probablement optimiser la clause inner where où restreindre les lignes de Q1. Vous savez que la rangée précédente sera au plus 2 ou 3 jours plus tôt. –
@Mike Il effectue un RECHERCHE D'INDICE CLUSTERED, ce qui est très efficace. SQL Server est généralement assez bon pour l'auto-optimisation. – beach