Bonjour, je me retrouve face à un problème :

J'ai une structure comme ceci :

- Invoice (entête)
- Customer (1 seul)
- tender (moyens de payement 11)
- divers infos et commentaires
- items (autant que de produits facturés)

Je veux créer une vue pour mettre tout cela à plat avec un produit par ligne en répétant l'entête autant que nécessaire.

Pour ce faire je voulais mettre "en colonne" les moyens de payement et les commentaires etc.. pour ne pas dupliquer une ligne autant de fois qu'il y a des moyens de payement par exemple (normalement c'est là que je suis plutôt moyennement clair x) )

J'avais essayé de faire comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT i.invc_sid,
i.sbs_no,
i.store_no,
c.cust_id,
c.store_no,
c.station,
(SELECT amt FROM INVC_TENDER WHERE tender_type = 0)  AS Cash,
(SELECT amt FROM INVC_TENDER WHERE tender_type = 1)  AS cheque
FROM INVOICE i, CUSTOMER c, INVC_TENDER t
Mais ce n'est pas bon.

J'ai aperçu aussi une forme comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
(CASE WHEN t.tender_type = 0 THEN t.AMT END) AS Cash,
Mais je ne comprend pas...

Merci de votre aide.