Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1786 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU] [SQL] Limiter le nombre de requetes imbriquées

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] [SQL] Limiter le nombre de requetes imbriquées

n°729268
cixen
J'adore l'informatique !
Posté le 17-05-2004 à 16:49:00  profilanswer
 

Je me débrouille en SQL mais je suis loin de maitriser à fond !
Est-il possible de réutiliser dans une sous requete un des resultats de la requete principale.
 
Par ex
 
SELECT N_Facture,  
      (SELECT SUM(MtCommercial) FROM dbo_LigneFacture WHERE type = 1
       and N_Facture in  
                      (select N_Facture from dbo_Facture  
                      WHERE RefClient = '3' ))
WHERE RefClient = '3'
 
Si vous avez bien regardé je met la meme condition à 2 endroits différents donc à mon avis elle est simplifiable car elle est TRES lourde à faire marcher. Je l'ai simplifiée mais il faut 4 à 5 s à mon server SQL pour l'executer.
Donc plutot que de faire 2 requetes imbriquées, si quelqu'un connaissait un moyen de limiter à 1 seule requête imbrquée, cela m'aiderait beaucoup.
Merci d'avoir lu jusqu'au bout !  :)


Message édité par cixen le 18-05-2004 à 13:10:12
mood
Publicité
Posté le 17-05-2004 à 16:49:00  profilanswer
 

n°729473
Beegee
Posté le 17-05-2004 à 19:41:56  profilanswer
 

tu nous a donne toute ta requete la ? j'ai pas l'impression ... il manque un FROM quelquepart.

n°729937
cixen
J'adore l'informatique !
Posté le 18-05-2004 à 10:38:57  profilanswer
 

Ouaip, il en manque un mais c'est juste ici que je l'ai oublié. Enfait j'ai trouvé un autre moyen car celle ci est complètement fausse mais je galère encore car c'est avec des inner join il y a 8 alias de la meme table et en plus il faut faire des sommes et donc des agregs. Je poserai une autre question certainement plus tard mais si quelqu'un sait manier les sum, les group by et les Inner join qu'il me le dise tt de suite !

n°729967
vttman2
Je suis Open ...
Posté le 18-05-2004 à 10:53:51  profilanswer
 

Présent !
Cela dit tu peux passer aussi par des vues
pour te faciliter la tâche en décomposant ton prob ...
 
ex:
create view prod_sum_qte
as
select num_prod,sum(qte) as sum_qte from matable
where typ_prod in (1,2,3) ...  

n°730179
cixen
J'adore l'informatique !
Posté le 18-05-2004 à 13:08:46  profilanswer
 

Non c'est bon j'ai trouvé une solution à mon pb... enfin mon collègue plutôt. Si ca intéresse quelqu'un..
 

Code :
  1. SELECT n_facture, DateFacture, mtHT, ccial,Editer,
  2. (SELECT sum(mtcommercial) FROM dbo_LigneFacture L1 WHERE f1.N_facture = L1.n_Facture AND type = 1 ) as Abonnement,
  3. FROM dbo_facture F1 WHERE Refclient = '3'


Message édité par cixen le 18-05-2004 à 13:09:46

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU] [SQL] Limiter le nombre de requetes imbriquées

 

Sujets relatifs
lancer un script SQL[résolu][php] pb variable dynamique
connaitre le nombre de photo mis dans 1 dossier[RESOLU]Comment donner une fonction en tant qu'"action"
[php] Probleme d'espace (le caractere) [Résolu]arreter une requete SQL dans Delphi
[Access] Remplir les champs des formulaires en Access [Résolu]Comment insérer un caractère dans 9000 cellules contenant un nombre
Connexion à une BD MS SQL Serveur[php] Upload fichier [Résolu]
Plus de sujets relatifs à : [RESOLU] [SQL] Limiter le nombre de requetes imbriquées


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR