|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2003 Messages : 36 ![]() |
[SQL2005] Affichage d'une colonne d'une ligne précédente
Bonjour, Je m'explique. J'ai un générateur d'édition pas très évolué et dans l'édition de ma facture (avec regroupement de BL) je veux ajouter une bande de sous total quand je change de Bon de livraison. Dans mon générateur d état je ne peux pas crée de variable qui enregistre une colonne d’une ligne précédente. L’éditeur source de donnée SQL est assez limité. Je suis obligé de passer par une vue. Ca je sais faire. Mais pour la requête je ne sais pas comment faire ? Requête : Code :
Code :
Code :
Merci pour vos réponses. Cordialement. |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
Dans une base de données relationnelle il n'y a pas d'ordre des lignes dans les tables.... donc, pas de précédent, ni suivant.
Commencez par définir l'ordre que vous souhaitez.... et puisque vous voulez retourner une seule valeur, il faut que cet ordonnancement soit unique ! A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2003 Messages : 36 ![]() |
Bonsoir,
Je me suis peut-être mal fait comprendre. J'ai une requête qui est trié, et je voulais savoir s'il est possible d'afficher le contenu d'une colonne d'une ligne précédente voir exemple dans le début de la discussion. Merci. |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
Réponse brute non, car il n'y a pas d'ordre dans les bases de données relationnelle. Lisez l'article que j'ai écrit à ce sujet : http://blog.developpez.com/sqlpro/p5...sont-des-ense/
Donc la notion d'avant, après ou précédent au niveau des lignes n'existe pas. Cependant il est possible de faire référence à une valeur avant ou après, mais une valeur ce n'est pas une ligne, et la valeur peut ne pas être unique. D'ou la question de départ à laquelle vous n'avez toujours pas répondu : Commencez par définir l'ordre que vous souhaitez.... A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#5 | |||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Citation:
par contre je ne vois pas trop l'interet de faire une telle chose... Quelles sont les contraintes imposées par votre "générateur d'édition" qui vous obligent a procéder ainsi ? Quel est l'interet de recuperer le numero de la ligne du "dessus" ? est-ce que votre "générateur d'édition" ne sait traiter qu'une ligne a la fois, et c'est ainsi une façon de "detecter" un changement de numéro ? dans ce cas, ce cas, regardez cette requete, a adapter a vos besoin (j'ai ajouté une colonne montant, car avec ceci, vous pouvez même calculer les sous totaux) Code sql :
|
|||
|
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2003 Messages : 36 ![]() |
Bonjour
D’abord merci pour vos réponses. Citation:
Citation:
Dans l’exemple fourni je n’ai mis qu’une partie de la requête. Avec cette solution je traite cette enregistrement dans une bande particulière. Dans mon générateur d’état de CEGID, je n’ai pas la possibilité de créer un champ valeur auquel j’affecte une valeur chaque fois que je traite une ligne. Mais c’est mois qui choisit l’affectation. Dans d’autre générateur d’état comme R&R je pouvais enregistrer des valeurs du record précédent issue de ma source de donné (en fonction de mon tri). CE qui me permet comme en programmation de tester si ma ligne de facture issue de mon BL fait bien partit de mon BL ou si c’est un nouveau BL. Exemple voir l’image jointe Merci. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com