2014-06-11 2 views
0

C'est ce que je veux obtenir.SQLite - Requête complexe

Art|CANTIDAD1|CANTIDAD2|CANTIDAD1CARGA1 |CANTIDAD2CARGA1 |CANTIDAD1CARGA2 | CANTIDAD2CARGA2 
---------------------------------------------------------------------------------------------- 
001| 7 | 0 |  4  |  0  |  3  |  0 
002| 0 | 2 |  0  |  1  |  0  |  1 
003| 2 | 0 |  2  |  0  |  0  |  0 
004| 3 | 0 |  1  |  0  |  2  |  0 
005| 2 | 0 |  0  |  0  |  2  |  0 
006| 0 | 1 |  0  |  0  |  0  |  1 

Je reçois CANTIDAD1 et CANTIDAD2 en faisant cette requête. Il est le résultat de la somme des montants correspondant au « où »

SELECT 
    SUM(D.NCANTIDAD1) AS NTOTCANTIDAD1, 
    SUM(D.NCANTIDAD2) AS NTOTCANTIDAD2 
FROM 
    CABPEDIDOS C, 
    DETPEDIDOS D, 
    ARTICULOS A 
WHERE 
    C.DFECHAALBARAN IS NULL 
    AND C.CSERIE = D.CSERIE 
    AND C.NPEDIDO = D.NPEDIDO 
    AND D.NFABRICANTE = A.NFABRICANTE 
    AND D.CARTICULO = A.CARTICULO 
GROUP BY 
    D.NFABRICANTE, D.CARTICULO, A.CNOMBRE 

CANTIDAD1CARGA1, CANTIDAD2CARGA1 sont des quantités qui se trouvent dans la base de données (d.cantidad1, d, cantidad2 sont les vrais noms, je dois résumer tous pour obtenir CANTIDAD1 et CANTIDAD2), mais je dois obtenir les quantités correspondant aux C.CARGA respectives:

(CANTIDAD1 = CANTIDAD1CARGA1 + CANTIDAD1CARGA2) 

Comment puis-je obtenir ces valeurs?

** C.NCARGA peut avoir plus d'une valeur, je dois obtenir tous CANTIDAD1CARGA'x' et CANTIDAD2CARGA'x'

I don't care if I have to use two querys, 
- one for CANTIDAD1 and CANTIDAD2 
- other for CANTIDAD1CARGA1, CANTIDAD2CARGA1, CANTIDAD1CARGA2... etc 
+0

On dirait que ce que vous voulez est un type de Pivot, qui malheureusement ne semble pas être supporté par SqlLite. Il y a quelques [idées ici] (http://stackoverflow.com/q/1237068/314291) – StuartLC

Répondre

0

J'ai un sentiment que je ne suis pas vraiment comprendre la question, mais il semble que vous avez juste besoin:

SELECT CANTIDAD1CARGA1 + CANTIDAD1CARGA2 AS CANTIDAD1, 
     CANTIDAD2CARGA1 + CANTIDAD2CARGA2 AS CANTIDAD2, 
     CANTIDAD1CARGA1, CANTIDAD2CARGA1, CANTIDAD1CARGA2, CANTIDAD2CARGA2 
FROM ... 
+0

J'ai édité le premier message. Je n'ai pas "CANTIDAD1CARGA1 ou CANTIDAD2CARGA1", c'est un peu difficile à expliquer, je suis désolé. –

+0

Je ne comprends pas. Veuillez mettre à jour votre question pour montrer toutes les tables d'entrée. – Barmar

+1

Le mieux serait de faire un sqlfiddle avec quelques exemples de données et votre solution tentée. – Barmar