SQL deux requêtes en une?

Résolu
kent76 Messages postés 30 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 20 mars 2013 - 14 mars 2013 à 10:10
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 - 14 mars 2013 à 17:54
Bonjour ,
aaaaaaaaahh enfin un beau soleil pour bronzer... next


Voici mes deux requêtes qui fonctionnent bien par contre je trouve que cela fait un peu chargé?.O du coup je me retourne vers vous pour savoir si oui c'est possible. Seul changement sur les requêtes c'est le champ après MIN.

req_restant_ass_vie = "SELECT MIN(D.MONTANT_DOSSIER) - SUM(P.VALEUR_PRODUIT) AS RESTANT, P.TYPE_PRODUIT "_
& "FROM DOSSIER AS D INNER JOIN HERITIER AS H1 "_
& "ON D.ID_DOSSIER = H1.REF_DOSSIER INNER JOIN HERITIER AS H2 "_  
& "ON D.ID_DOSSIER = H2.REF_DOSSIER INNER JOIN PRODUIT AS P "_
& "ON H1.ID_HERITIER = P.REF_HERITIER "_
& "WHERE     (H2.ID_HERITIER = " & ref_heritier & ") "_
& "GROUP BY P.TYPE_PRODUIT"	


req_restant_banc = "SELECT MIN(D.MONTANTB_DOSSIER) - SUM(P.VALEUR_PRODUIT) AS RESTANT, P.TYPE_PRODUIT "_
& "FROM DOSSIER AS D INNER JOIN HERITIER AS H1 "_
& "ON D.ID_DOSSIER = H1.REF_DOSSIER INNER JOIN HERITIER AS H2 "_  
& "ON D.ID_DOSSIER = H2.REF_DOSSIER INNER JOIN PRODUIT AS P "_
& "ON H1.ID_HERITIER = P.REF_HERITIER "_
& "WHERE     (H2.ID_HERITIER = " & ref_heritier & ") "_
& "GROUP BY P.TYPE_PRODUIT"


voilà si quelqu'un a une idée je l'essayerai
Cordialement,
Bon journée

5 réponses

kent76 Messages postés 30 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 20 mars 2013
14 mars 2013 à 15:19
hophop je suis là ^^

oui pour la mise en page bordelique.. dans mon code c'est nikel enfin bref ^^

Comment je fait alors pour fusionner ceci :

SELECT MIN(D.MONTANT_DOSSIER) - SUM(P.VALEUR_PRODUIT) AS RESTANT, P.TYPE_PRODUIT "_
et
SELECT MIN(D.MONTANTB_DOSSIER) - SUM(P.VALEUR_PRODUIT) AS RESTANT, P.TYPE_PRODUIT "_


après je suis d'accord pour dire que le reste ne bougera pas.

quelque chose comme ca?
ca me parait...

SELECT (MIN(D.MONTANTB_DOSSIER) - SUM(P.VALEUR_PRODUIT)) AS RESTANT_BANC,
(MIN(D.MONTANT_DOSSIER) - SUM(P.VALEUR_PRODUIT)) AS RESTANT_ASS_VIE, P.TYPE_PRODUIT
3
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
14 mars 2013 à 14:11
Salut,

quel est le problème lorsque tu mets simplement tes champs/fonctions dans la même requête ?

NB : ton découpage de string n'est pas cohérent, tu mets sur la même ligne une jointure (INNER JOIN) et le critère de la jointure précédente (ON), c'est illisible.
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
14 mars 2013 à 15:28
Yep, comme ça. Tu l'as essayée ?
0
kent76 Messages postés 30 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 20 mars 2013
14 mars 2013 à 17:50
Je viens de la test comme noté :


Erreur 500 (serveur)

en essayant de debugger Response.write .....

ca me l'affiche bien comme y faut (la requête, je la test sous SQL SERVER, me renvoit bien les bonnes valeurs.
------

pb résolu tout simplement j'ai oublié de changer les AS RESTANT_BANC et RESTANT_ASS_VIE
dans mon ptit code ^^

Bon beh ca au moins c'est fait mdr


Un grand merci à JOPOP pour m'avoir diriger en 2/2 pas plus dur ;)
et à bientôt je pense ;P

Bonne fin de journée,
Peace
Kentz76
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
14 mars 2013 à 17:54
Aucun souci

Marque ton deuxième message (là où tu écris le SELECT d'un seul jet) comme réponse acceptée, comme ça les autres helpers sauront que le job est fait.
0
Rejoignez-nous