Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

afficher les données entre deux numeros de documents

Bonjour,

J'ai une petite question j'ai une liste des documents triés par ordre.

Document :

doc A 1999

doc B 2000

doc C 2001

doc D 2002

etc..

Pour réduire le temps de calcul (fichier d'un milion de lignes) je veux faire une recherche de champs entre la valeur min et la valeur max.

J'ai ccreer deux tables

Table 1 : ou j'ai fait un order by... top 1 , j'ai bien le minimum

Table 2 : avec top 1 order by .. desc j'ai le maximum.

Je veux qu'il balaye tout les documents .

sql select *

from ma table where Document in $("table1.min","table2.max");

ça fonctionne pas.. normal?  merci

2 Replies
Not applicable
Author

Bonjour,

En sql, l'instruction IN fait référence à une liste de valeur si bien que SELECT * FROM TABLE WHERE Document in (table1.min,table2.max) revient à vouloir prendre les documents min et max.

Il faut faire une séléction à travers la clause where : Where Document > Table1.min and Document < Table2.max.

Ceci étant, selon ton SGBD tu pourras utiliser la clase BETWEEN : Where Document Between Table1.min and Table2.max

De plus, si ton document est déjà trié un Peek(0) et Peek(-1) te rameneront la valeur Min et Max sans passer par des tables.

Cdt,

Benjamin Drouin

Consultant BI

http://www.competencebi.com/

Not applicable
Author

je ne sais pas quelle base tu utilises, si tu fais un "in (XXX, YYY)" tu ne récupereras que les documents XXX et YYY

tu peux en revanche tenter un between XXX and YYY

Bon tests