Date Starting Ending
10/01/2010 0 100
10/02/2010 100 200
10/03/2010 200 300
10/04/2010 300 0
the table has only one column that is ending and i need the output similar to one shown above and using sqlserver 2005
1
A
Répondre
2
En supposant une table appelée SampleData
, et les colonnes appelées Date
et Starting
, vous pouvez le faire pour interroger la table:
SELECT S1.Date, S1.Starting, ISNULL(S2.Starting, 0) as Ending
FROM SampleData S1
LEFT OUTER JOIN
(
SELECT *
FROM SampleData
) S2
ON DATEADD(d, 1, S1.Date) = S2.Date
Qui reviendra:
Date Starting Ending
10/01/2010 0 100
10/02/2010 100 200
10/03/2010 200 300
10/04/2010 300 0
Si vous souhaitez mettre à jour la table à la place, vous pouvez effectuer les opérations suivantes:
UPDATE SampleData
SET Starting = Ending
FROM SampleData S3
INNER JOIN
(
SELECT S1.Date, ISNULL(S2.Starting, 0) as Ending
FROM SampleData S1
LEFT OUTER JOIN
(
SELECT *
FROM SampleData
) S2
ON DATEADD(d, 1, S1.Date) = S2.Date
) S4 ON S3.Date = S4.Date
2
ne pas être la meilleure solution, mais suivante fonctionnerait si son une opération de temps et les performances ne sont pas une préoccupation
CREATE FONCTION GetPreviousVal
(
@ PrevVal int ) int RETOURS AS BEGIN
DECLARE @ReturnVal INT
SELECT TOP 1 @ReturnVal = Ending
FROM RowVal
WHERE Ending < @PrevVal
ORDER BY Ending DESC
RETURN @ReturnVal
FIN
GO
Maintenant, utilisez ci-dessus fonction pour mettre à jour vos données
UPDATE RowVal
SET Starting = ISNULL(dbo.GetPreviousVal(Ending),0)
Questions connexes
- 1. Récupère la ligne précédente et la ligne suivante de l'ID actuel
- 2. comparer la valeur actuelle de la ligne avec la valeur de ligne suivante
- 3. La ligne précédente doit être imprimée si la ligne suivante commence par un mot particulier
- 4. sql tirant une ligne pour la ligne suivante ou précédente d'une ligne en cours
- 5. insérer une chaîne dans la ligne précédente et la ligne suivante d'une phrase/texte particulier
- 6. ifstream, fin de ligne et passer à la ligne suivante?
- 7. Comment briser la ligne suivante de python
- 8. Regex vérifier la ligne précédente
- 9. Résultat de la ligne précédente (programmation C)
- 10. Obtention de la ligne précédente dans Jython
- 11. Problème lors de la recherche de la ligne suivante/précédente dans mysql
- 12. question TextMate: comment passer caret à la ligne suivante/précédente vide
- 13. Emacs: comment puis-je afficher la ligne suivante lorsque j'atteins la dernière ligne de la vue?
- 14. Comment trouver la ligne suivante/précédente dans une base de données?
- 15. Impression de la ligne suivante avec sed
- 16. Comment supprimer la ligne si la précédente ont la même valeur dans une colonne spécifique
- 17. Aller automatiquement à la ligne suivante dans vim
- 18. Jquery/javascript onclick afficher la ligne suivante
- 19. Lecture de la ligne de fichier précédente avec Ruby
- 20. Création de la navigation suivante/précédente
- 21. Problème NicEdit dans la ligne suivante
- 22. Sélectionnez la ligne suivante en php
- 23. COMMENT CHOISIR LA VALEUR DE LA RANGÉE PRÉCÉDENTE?
- 24. ligne suivante Jython
- 25. comment faire l'indentation Xcode du début de la ligne précédente?
- 26. Passage à la ligne de données suivante dans une plage
- 27. Comment obtenir une valeur de la ligne de résultat précédente d'une instruction SELECT?
- 28. Comment afficher la ligne suivante d'un ensemble dans Rails find
- 29. valeur de la colonne Mise à jour SQL de la ligne 1 de la valeur de la ligne 2
- 30. Comment définir la ligne suivante dans une liste pour l'étiquette
Qu'est-ce que votre structure de la table ressemble? Aussi, quelle version de SQL Server? – LittleBobbyTables