SQL > Obtenir les deux identifiants adjacents

SQL > Obtenir les deux identifiants adjacents - SQL/NoSQL - Programmation

Marsh Posté le 13-10-2008 à 17:58:34    

Bsoir, je me posais la question s'il est possible de regrouper ces deux requêtes en une seul

Code :
  1. select id FROM table where id<1000 order by id desc limit 1
  2. select id FROM table where id>1000 order by id asc limit 1


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 13-10-2008 à 17:58:34   

Reply

Marsh Posté le 13-10-2008 à 18:09:09    

grosbin a écrit :

Bsoir, je me posais la question s'il est possible de regrouper ces deux requêtes en une seul

Code :
  1. select id FROM table where id<1000 order by id desc limit 1
  2. select id FROM table where id>1000 order by id asc limit 1



 
Au moins avec une union [:doc petrus]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-10-2008 à 18:13:34    

bon sinon tu peux t'amuser avec des conneries du genre :

 
Code :
  1. SELECT t1.id, t2.id FROM TABLE t1, TABLE t2
  2. WHERE t1.id < 1000
  3. AND t2.id > 1000
  4. AND NOT EXISTS(SELECT 1 FROM TABLE t3 WHERE t3.id>t1.id AND t3.id < 1000)
  5. AND NOT EXISTS(SELECT 1 FROM TABLE t4 WHERE t4.id<t1.id AND t4.id > 1000)
 

(non testé, non relu)


Message édité par skeye le 13-10-2008 à 18:13:46

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-10-2008 à 18:38:21    

SELECT max( id ),nom FROM table WHERE id <726
UNION SELECT min( id ),nom FROM table WHERE id >726  
 
l'union avex max et min marche bien, mais dès que je veux le champ 'titre', coupe le group .. il s'agit de trouver les deux enregistrements adjacents


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed