|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2007 Messages : 18 ![]() |
Salut
Est ce qu'il ya moyen en postgres de selectionner une ligne en fonction du contenu d'une autre? Par exemple: supposons qu'on a la table suivante a | b --------------------------- x1 | x2 y1 | y2 z1 | z2 t1 | t2 selectionner les 2 lignes qui viennent directement après la ligne où b=y2. On aurait comme résultat les lignes: z1 | z2 t1 | t2 Alors ça vous dit quelquechose ? Merci |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : août 2007 Messages : 128 ![]() |
Pour que tu puisses récupérer les deux lignes qui sont après une autre, il faut déjà que tu puisses les ordonner. Or la table que tu proposes ne permet aucun order by.
Si tu avais une table de ce genre id | a | b --------------------------- 1 | x1 | x2 2 | y1 | y2 3 | z1 | z2 4 | t1 | t2 tu pourrais faire un SELECT * FROM la_table as t1, la_table as t2 WHERE t1.id > t2.id AND t2.b='y2' |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
Présenté comme ça, ça n'est malheureusement pas possible. En effet, on ne sait pas (et à la limite on n'a même pas à savoir) dans quel ordre un SGBDR range les lignes en interne quand elles sont insérées. Il faut donc effectuer d'abord un tri explicite sur une ou plusieurs colonnes. ced |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com