le but est de modifier pour une famille (CodeFamille = 1) tous les champs Ordre pour qu'ils reflete le tri sur "Critère".
avant le tri : 1, 1, ZZ 1, 2, RR 1, 3, BB
un tri sur critere donnerait : 1, 3, BB 1, 2, RR 1, 1, ZZ
mais le SQL fait : 1, 1, BB 1, 2, RR 1, 3, ZZ
J'espère être assez clair :-)
Merci pour toutes réponses
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Serge Fournier
C est vrai que j'ai pas été clair. Ce que je veux en fait, c'est un UPDATE qui va re creer les valeurs de Ordre en fonction du tri sur Critère. Les SQL de vos réponse me renvoie en fait le jeux de resultat N°2 (tri sur critere) et ce que je veux c'est le jeux n° 3. (Remarquer le changement de valeur de Ordre)
Merci a tous;
"Serge Fournier" a écrit dans le message de news:uKeKLA$
Bonjour tous,
Le but est de faire un sql qui va réordonner un groupe d'enregistrements avec un tri portant sur un champ du record.
le but est de modifier pour une famille (CodeFamille = 1) tous les champs Ordre pour qu'ils reflete le tri sur "Critère".
avant le tri : 1, 1, ZZ 1, 2, RR 1, 3, BB
un tri sur critere donnerait : 1, 3, BB 1, 2, RR 1, 1, ZZ
mais le SQL fait : 1, 1, BB 1, 2, RR 1, 3, ZZ
J'espère être assez clair :-)
Merci pour toutes réponses
C est vrai que j'ai pas été clair.
Ce que je veux en fait, c'est un UPDATE qui va re creer les valeurs de Ordre
en fonction du tri sur Critère.
Les SQL de vos réponse me renvoie en fait le jeux de resultat N°2 (tri sur
critere) et ce que je veux c'est le jeux n° 3.
(Remarquer le changement de valeur de Ordre)
Merci a tous;
"Serge Fournier" <safournier@free.fr> a écrit dans le message de
news:uKeKLA$mEHA.3988@tk2msftngp13.phx.gbl...
Bonjour tous,
Le but est de faire un sql qui va réordonner un groupe d'enregistrements
avec un tri portant sur un champ du record.
C est vrai que j'ai pas été clair. Ce que je veux en fait, c'est un UPDATE qui va re creer les valeurs de Ordre en fonction du tri sur Critère. Les SQL de vos réponse me renvoie en fait le jeux de resultat N°2 (tri sur critere) et ce que je veux c'est le jeux n° 3. (Remarquer le changement de valeur de Ordre)
Merci a tous;
"Serge Fournier" a écrit dans le message de news:uKeKLA$
Bonjour tous,
Le but est de faire un sql qui va réordonner un groupe d'enregistrements avec un tri portant sur un champ du record.
le but est de modifier pour une famille (CodeFamille = 1) tous les champs Ordre pour qu'ils reflete le tri sur "Critère".
avant le tri : 1, 1, ZZ 1, 2, RR 1, 3, BB
un tri sur critere donnerait : 1, 3, BB 1, 2, RR 1, 1, ZZ
mais le SQL fait : 1, 1, BB 1, 2, RR 1, 3, ZZ
J'espère être assez clair :-)
Merci pour toutes réponses
Gilles LE BARBIER
Creer une table tempo en reprenant la structure de ta table à copier (sans contrainte si tu en as sur la principal)
lit 2 fois ta table suivant les deux champ trie comme tu le souhaite
Enfin Supprime ta table principal et renommer ta table tempo
Pour un exemple de passage dans une table tempo tu peux regarder les script généré par entreprise manager Gilles un débutant
"Serge Fournier" a écrit dans le message de news:%
C est vrai que j'ai pas été clair. Ce que je veux en fait, c'est un UPDATE qui va re creer les valeurs de
Ordre
en fonction du tri sur Critère. Les SQL de vos réponse me renvoie en fait le jeux de resultat N°2 (tri sur critere) et ce que je veux c'est le jeux n° 3. (Remarquer le changement de valeur de Ordre)
Merci a tous;
"Serge Fournier" a écrit dans le message de news:uKeKLA$ > Bonjour tous, > > Le but est de faire un sql qui va réordonner un groupe d'enregistrements > avec un tri portant sur un champ du record. > > ex: > table : > MYTABLE > colonnes : > CodeFamille (int) > Ordre (int) > Critere (int) > > le but est de modifier pour une famille (CodeFamille = 1) tous les
champs
> Ordre pour qu'ils reflete le tri sur "Critère". > > avant le tri : > 1, 1, ZZ > 1, 2, RR > 1, 3, BB > > un tri sur critere donnerait : > 1, 3, BB > 1, 2, RR > 1, 1, ZZ > > mais le SQL fait : > 1, 1, BB > 1, 2, RR > 1, 3, ZZ > > J'espère être assez clair :-) > > Merci pour toutes réponses > >
Creer une table tempo en reprenant la structure de ta table à copier
(sans contrainte si tu en as sur la principal)
lit 2 fois ta table suivant les deux champ trie comme tu le souhaite
Enfin Supprime ta table principal et renommer ta table tempo
Pour un exemple de passage dans une table tempo tu peux regarder les script
généré par entreprise manager
Gilles un débutant
"Serge Fournier" <safournier@free.fr> a écrit dans le message de
news:%23DzdVpAnEHA.3296@TK2MSFTNGP10.phx.gbl...
C est vrai que j'ai pas été clair.
Ce que je veux en fait, c'est un UPDATE qui va re creer les valeurs de
Ordre
en fonction du tri sur Critère.
Les SQL de vos réponse me renvoie en fait le jeux de resultat N°2 (tri sur
critere) et ce que je veux c'est le jeux n° 3.
(Remarquer le changement de valeur de Ordre)
Merci a tous;
"Serge Fournier" <safournier@free.fr> a écrit dans le message de
news:uKeKLA$mEHA.3988@tk2msftngp13.phx.gbl...
> Bonjour tous,
>
> Le but est de faire un sql qui va réordonner un groupe d'enregistrements
> avec un tri portant sur un champ du record.
>
> ex:
> table :
> MYTABLE
> colonnes :
> CodeFamille (int)
> Ordre (int)
> Critere (int)
>
> le but est de modifier pour une famille (CodeFamille = 1) tous les
champs
> Ordre pour qu'ils reflete le tri sur "Critère".
>
> avant le tri :
> 1, 1, ZZ
> 1, 2, RR
> 1, 3, BB
>
> un tri sur critere donnerait :
> 1, 3, BB
> 1, 2, RR
> 1, 1, ZZ
>
> mais le SQL fait :
> 1, 1, BB
> 1, 2, RR
> 1, 3, ZZ
>
> J'espère être assez clair :-)
>
> Merci pour toutes réponses
>
>
Creer une table tempo en reprenant la structure de ta table à copier (sans contrainte si tu en as sur la principal)
lit 2 fois ta table suivant les deux champ trie comme tu le souhaite
Enfin Supprime ta table principal et renommer ta table tempo
Pour un exemple de passage dans une table tempo tu peux regarder les script généré par entreprise manager Gilles un débutant
"Serge Fournier" a écrit dans le message de news:%
C est vrai que j'ai pas été clair. Ce que je veux en fait, c'est un UPDATE qui va re creer les valeurs de
Ordre
en fonction du tri sur Critère. Les SQL de vos réponse me renvoie en fait le jeux de resultat N°2 (tri sur critere) et ce que je veux c'est le jeux n° 3. (Remarquer le changement de valeur de Ordre)
Merci a tous;
"Serge Fournier" a écrit dans le message de news:uKeKLA$ > Bonjour tous, > > Le but est de faire un sql qui va réordonner un groupe d'enregistrements > avec un tri portant sur un champ du record. > > ex: > table : > MYTABLE > colonnes : > CodeFamille (int) > Ordre (int) > Critere (int) > > le but est de modifier pour une famille (CodeFamille = 1) tous les
champs
> Ordre pour qu'ils reflete le tri sur "Critère". > > avant le tri : > 1, 1, ZZ > 1, 2, RR > 1, 3, BB > > un tri sur critere donnerait : > 1, 3, BB > 1, 2, RR > 1, 1, ZZ > > mais le SQL fait : > 1, 1, BB > 1, 2, RR > 1, 3, ZZ > > J'espère être assez clair :-) > > Merci pour toutes réponses > >
Synopsis
UPDATE MyTable Set Ordre = (select count(*) from MyTable b where a.codeFamille=b.codeFamille and b.Critere<=a.Critere) from MyTable a
En imposant (a.codeFamille=b.codeFamille) dans la clause where , je suppose que l'attribut Ordre est l'ordre dans la famille.
1, 1, BB 1, 2, RR 1, 3, ZZ 2, 1, AA 2, 2, GG 2, 3, MM
"Serge Fournier" a écrit dans le message de news:uKeKLA$
Bonjour tous,
Le but est de faire un sql qui va réordonner un groupe d'enregistrements avec un tri portant sur un champ du record.
le but est de modifier pour une famille (CodeFamille = 1) tous les champs Ordre pour qu'ils reflete le tri sur "Critère".
avant le tri : 1, 1, ZZ 1, 2, RR 1, 3, BB
un tri sur critere donnerait : 1, 3, BB 1, 2, RR 1, 1, ZZ
mais le SQL fait : 1, 1, BB 1, 2, RR 1, 3, ZZ
J'espère être assez clair :-)
Merci pour toutes réponses
Serge Fournier
Merci pour la reponse, je vais tester de ce pas ...
"Synopsis" a écrit dans le message de news:cie710$1982$
UPDATE MyTable Set Ordre = (select count(*) from MyTable b where a.codeFamille=b.codeFamille and b.Critere<=a.Critere) from MyTable a
En imposant (a.codeFamille=b.codeFamille) dans la clause where , je suppose que l'attribut Ordre est l'ordre dans la famille.
1, 1, BB 1, 2, RR 1, 3, ZZ 2, 1, AA 2, 2, GG 2, 3, MM
"Serge Fournier" a écrit dans le message de news:uKeKLA$ > Bonjour tous, > > Le but est de faire un sql qui va réordonner un groupe d'enregistrements > avec un tri portant sur un champ du record. > > ex: > table : > MYTABLE > colonnes : > CodeFamille (int) > Ordre (int) > Critere (int) > > le but est de modifier pour une famille (CodeFamille = 1) tous les
champs
> Ordre pour qu'ils reflete le tri sur "Critère". > > avant le tri : > 1, 1, ZZ > 1, 2, RR > 1, 3, BB > > un tri sur critere donnerait : > 1, 3, BB > 1, 2, RR > 1, 1, ZZ > > mais le SQL fait : > 1, 1, BB > 1, 2, RR > 1, 3, ZZ > > J'espère être assez clair :-) > > Merci pour toutes réponses > >
Merci pour la reponse, je vais tester de ce pas ...
"Synopsis" <synopsis@nospam.com> a écrit dans le message de
news:cie710$1982$1@biggoron.nerim.net...
UPDATE MyTable Set
Ordre = (select count(*) from MyTable b where a.codeFamille=b.codeFamille
and b.Critere<=a.Critere)
from MyTable a
En imposant (a.codeFamille=b.codeFamille) dans la clause where
, je suppose que l'attribut Ordre est l'ordre dans la famille.
1, 1, BB
1, 2, RR
1, 3, ZZ
2, 1, AA
2, 2, GG
2, 3, MM
"Serge Fournier" <safournier@free.fr> a écrit dans le message de
news:uKeKLA$mEHA.3988@tk2msftngp13.phx.gbl...
> Bonjour tous,
>
> Le but est de faire un sql qui va réordonner un groupe d'enregistrements
> avec un tri portant sur un champ du record.
>
> ex:
> table :
> MYTABLE
> colonnes :
> CodeFamille (int)
> Ordre (int)
> Critere (int)
>
> le but est de modifier pour une famille (CodeFamille = 1) tous les
champs
> Ordre pour qu'ils reflete le tri sur "Critère".
>
> avant le tri :
> 1, 1, ZZ
> 1, 2, RR
> 1, 3, BB
>
> un tri sur critere donnerait :
> 1, 3, BB
> 1, 2, RR
> 1, 1, ZZ
>
> mais le SQL fait :
> 1, 1, BB
> 1, 2, RR
> 1, 3, ZZ
>
> J'espère être assez clair :-)
>
> Merci pour toutes réponses
>
>
Merci pour la reponse, je vais tester de ce pas ...
"Synopsis" a écrit dans le message de news:cie710$1982$
UPDATE MyTable Set Ordre = (select count(*) from MyTable b where a.codeFamille=b.codeFamille and b.Critere<=a.Critere) from MyTable a
En imposant (a.codeFamille=b.codeFamille) dans la clause where , je suppose que l'attribut Ordre est l'ordre dans la famille.
1, 1, BB 1, 2, RR 1, 3, ZZ 2, 1, AA 2, 2, GG 2, 3, MM
"Serge Fournier" a écrit dans le message de news:uKeKLA$ > Bonjour tous, > > Le but est de faire un sql qui va réordonner un groupe d'enregistrements > avec un tri portant sur un champ du record. > > ex: > table : > MYTABLE > colonnes : > CodeFamille (int) > Ordre (int) > Critere (int) > > le but est de modifier pour une famille (CodeFamille = 1) tous les
champs
> Ordre pour qu'ils reflete le tri sur "Critère". > > avant le tri : > 1, 1, ZZ > 1, 2, RR > 1, 3, BB > > un tri sur critere donnerait : > 1, 3, BB > 1, 2, RR > 1, 1, ZZ > > mais le SQL fait : > 1, 1, BB > 1, 2, RR > 1, 3, ZZ > > J'espère être assez clair :-) > > Merci pour toutes réponses > >