Bonjour à tous,
Je suis devant un problème :
J'ai une table avec 105 000 lignes. Je souhaiterais faire un tri pour n'afficher que certains les plus utilisées (présentes dans les tables entrée / sorties (vidées tous les 2 ans)
Du coup, j'ai fait deux requetes :
Le nombre de lignes suite à cette requete est de 9 175 lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 SELECT Stock.Code_article AS Code_article, Stock.CodeColoris AS CodeColoris, Articles.Libellé AS Libellé, Stock.DernierPxAchat AS DernierPxAchat, Stock.Unite AS Unite, Stock.QteEnStock AS QteEnStock, Stock.QteEnCde AS QteEnCde, Stock.QteRes AS QteRes, Stock.QteEntrées AS QteEntrées, Stock.QteSorties AS QteSorties, Stock.QteStkMini AS QteStkMini, Stock.QteStkMaxi AS QteStkMaxi, Articles.famille AS Famille, ArticlesFournisseurs.Codefournisseur As Fournisseur, Articles.Obsolète AS Obsolète, Stock.Obsolète AS Obsolète_St FROM Articles, ArticlesFournisseurs, Stock WHERE Articles.Code_article = Stock.Code_article AND Articles.Code_article = ArticlesFournisseurs.Code_article AND stock.obsolète = 0 AND Articles.obsolète = 0 and (stock.CodeArtCodeColoris in (select EntreeStock.CodeArtCodeColoris from EntreeStock group by EntreeStock.CodeArtCodeColoris) OR stock.CodeArtCodeColoris in (select SortieStock.CodeArtCodeColoris from SortieStock group by SortieStock.CodeArtCodeColoris) ) ORDER BY Code_article ASC, CodeColoris ASC
Quand je fait son contraire :
J'ai un résultat de 93 546 lignes ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 SELECT Stock.Code_article AS Code_article, Stock.CodeColoris AS CodeColoris, Articles.Libellé AS Libellé, Stock.DernierPxAchat AS DernierPxAchat, Stock.Unite AS Unite, Stock.QteEnStock AS QteEnStock, Stock.QteEnCde AS QteEnCde, Stock.QteRes AS QteRes, Stock.QteEntrées AS QteEntrées, Stock.QteSorties AS QteSorties, Stock.QteStkMini AS QteStkMini, Stock.QteStkMaxi AS QteStkMaxi, Articles.famille AS Famille, ArticlesFournisseurs.Codefournisseur As Fournisseur, Articles.Obsolète AS Obsolète, Stock.Obsolète AS Obsolète_St FROM Articles, ArticlesFournisseurs, Stock WHERE Articles.Code_article = Stock.Code_article AND Articles.Code_article = ArticlesFournisseurs.Code_article and (stock.CodeArtCodeColoris not in (select EntreeStock.CodeArtCodeColoris from EntreeStock group by EntreeStock.CodeArtCodeColoris) AND stock.CodeArtCodeColoris not in (select SortieStock.CodeArtCodeColoris from SortieStock group by SortieStock.CodeArtCodeColoris) ) ORDER BY Code_article ASC, CodeColoris ASC
Entre les deux, j'en ai perdu, et je n'arrive pas à trouver pourquoi.
J'ai essayé de faire une requete de ce type :
L'execution n'est toujours pas finie ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 SELECT Stock.Code_article AS Code_article, Stock.CodeColoris AS CodeColoris, Articles.Libellé AS Libellé, Stock.DernierPxAchat AS DernierPxAchat, Stock.Unite AS Unite, Stock.QteEnStock AS QteEnStock, Stock.QteEnCde AS QteEnCde, Stock.QteRes AS QteRes, Stock.QteEntrées AS QteEntrées, Stock.QteSorties AS QteSorties, Stock.QteStkMini AS QteStkMini, Stock.QteStkMaxi AS QteStkMaxi, Articles.famille AS Famille, ArticlesFournisseurs.Codefournisseur As Fournisseur, Articles.Obsolète AS Obsolète, Stock.Obsolète AS Obsolète_St FROM Articles, ArticlesFournisseurs, Stock WHERE Articles.Code_article = Stock.Code_article AND Articles.Code_article = ArticlesFournisseurs.Code_article AND stock.CodeArtCodeColoris NOT IN (Select stock.CodeArtCodeColoris From stock where (stock.obsolète = 0 AND Articles.obsolète = 0) and (stock.CodeArtCodeColoris in (select EntreeStock.CodeArtCodeColoris from EntreeStock group by EntreeStock.CodeArtCodeColoris) OR stock.CodeArtCodeColoris in (select SortieStock.CodeArtCodeColoris from SortieStock group by SortieStock.CodeArtCodeColoris)))
Pouvez vous m'aider ?
Partager