|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||||
|
Membre habitué
![]() Inscription : mai 2008 Messages : 285 ![]() |
Bonjour à tous,
Je cherche a créer une requête spéciale J'ai cette requête: ReqA: Code :
ReqB: Code :
Est ce possible? Obtenir un truc dans ce genre: ReqA-ReqB: Code :
Citation:
Le problème est que le résultat est flottant 326.400000870228 Le champ de debit est en FLOAT Comment y remédier pour que ça affiche 326.4 Merci |
|||||||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
Peut-être en faisant comme ça : Code :
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
||
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : mai 2008 Messages : 285 ![]() |
Merci ced, mais ce n'est pas vraiment ce que je cherchais.
Ta requête ne me soustrait pas la requête B. Mais elle me parait plus joli, peut-on la modifier? pour soustraire les 2 champs? Pour le type que je cherchais, j'ai remplacé par DECIMAL(5,2). Le problème est que je n'ai pas fait d'essai, j'ai remplacé directement par DECIMAL(0,0), du coups tous les résultats sont faux, il va falloir que je récupère un backup qui traine. Mais si on peut améliorer ta requête je suis preneur!
|
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Pffff... dur, dur, cet après-midi...
J'ai inversé le résultat des CASE et du coup, ça correspond pile à ta deuxième requête et pas à la soustraction. Essaie plutôt comme ça : Code :
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
||
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Inscription : mai 2008 Messages : 285 ![]() |
Merci ced,
Mais, je suis désolé, je ne vois pas de soustraction! ![]() EDIT> J'ai un problème sur la requête lorsque j'ai plusieurs lignes: J'ai donc aliaser mes colonnes. Voici la requête: Code :
Pour obtenir il faut que je change en: Code :
GROUP BY YEAR(c1.date), MONTH(c1.date) Code :
GROUP BY YEAR(c2.date), MONTH(c2.date) #1242 - Subquery returns more than 1 row Si je met: Code :
GROUP BY (YEAR(c2.date), MONTH(c2.date)) #1241 - Operand should contain 1 column(s) Je vois pas comment corriger! Comment faire? Merci |
||
|
|
00
|
|
|
#6 | ||||||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Citation:
Code :
Citation:
Code :
|
||||||
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Concernant ma requête, il y a peut-être un CAST implicite de MySQL en INTEGER, à cause de la valeur 0 que j'ai mise. Du coup, le résultat est calculé sous forme d'entier, ce qui peut poser problème.
Il faudrait convertir ce 0 en FLOAT, dans un premier temps, en faisant juste ça : Code :
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
||
|
|
00
|
|
|
#8 | ||
|
Membre habitué
![]() Inscription : mai 2008 Messages : 285 ![]() |
Merci pour vos réponses
C'est exactement ce que je cherchais. Cette requête fonctionne à merveille : Code :
Merci à tous les 2
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com