1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| CREATE TABLE T_COMPTE_CPT
(CPT_COMPTE CHAR(6),
CPT_ANA CHAR(5),
CPT_MONTANT DECIMAL(16,2))
INSERT INTO T_COMPTE_CPT VALUES ('612000', '26045', 260.50)
INSERT INTO T_COMPTE_CPT VALUES ('612000', '12345', 130.40)
INSERT INTO T_COMPTE_CPT VALUES ('612101', '33556', 330.50)
INSERT INTO T_COMPTE_CPT VALUES ('654000', '26346', 33.55)
INSERT INTO T_COMPTE_CPT VALUES ('654102', '28333', 180.10)
CREATE TABLE T_AFFECTATION_AFC
(AFC_COMPTE CHAR(6),
AFC_ANA CHAR(5),
AFC_AFFECT CHAR(4),
AFC_PRIORITE SMALLINT)
INSERT INTO T_AFFECTATION_AFC VALUES ('6_____', '_____', 'T124', 1024)
INSERT INTO T_AFFECTATION_AFC VALUES ('6_____', '__5__', 'T028', 1028)
INSERT INTO T_AFFECTATION_AFC VALUES ('6_____', '26___', 'T033', 1048)
INSERT INTO T_AFFECTATION_AFC VALUES ('612___', '_____', 'T125', 1788)
INSERT INTO T_AFFECTATION_AFC VALUES ('612___', '__5__', 'T126', 1792)
SELECT CPT_COMPTE, CPT_ANA, CPT_MONTANT, AFC_AFFECT
FROM T_COMPTE_CPT C
INNER JOIN T_AFFECTATION_AFC A
ON CPT_COMPTE LIKE AFC_COMPTE
AND CPT_ANA LIKE AFC_ANA
WHERE AFC_PRIORITE = (SELECT MAX(AFC_PRIORITE)
FROM T_COMPTE_CPT C2
INNER JOIN T_AFFECTATION_AFC A2
ON CPT_COMPTE LIKE AFC_COMPTE
AND CPT_ANA LIKE AFC_ANA
WHERE C2.CPT_COMPTE = C.CPT_COMPTE
AND C2.CPT_ANA = C.CPT_ANA
AND C2.CPT_MONTANT = C.CPT_MONTANT);
CPT_COMPTE CPT_ANA CPT_MONTANT AFC_AFFECT
---------- ------- ------------------ ----------
654102 28333 180.10 T124
654000 26346 33.55 T033
612101 33556 330.50 T126
612000 26045 260.50 T125
612000 12345 130.40 T125 |
Partager