Bonjour à tous
je viens poster pour la première fois sur ce forum qui m'a déjà aidé un bon nombre de fois, j'espère que ça va encore être le cas
Je travaille sous windev 17 avec une base Hyperfile SQL Classic.
Sur cette base je désire réaliser une différence entre 2 select
Le problème est que sous ma base, je n'ai ni Minus, ni Except, ni Intersect (Vive Hyperfile...), on m'a parlé de Outer Join mais ne l'ayant jamais utilisé soit je m'y prend mal soit il ne marche pas car il ne me renvoie pas le résultat attendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select ... From ... MINUS/EXCEPT Select a, b, c From ...
Voilà à quoi ça ressemblerait avec un Minus/Except
J'ai laissé des points de suspension après nbm et nbp car les paramètres qui suivent dépendent d'une application et correspondent soit à ">= val" soit "<= val" soit "BETWEEN val1 and val2"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT COUNT(DISTINCT p.IDPoste), SUM(p.NbMach), p.TypeP FROM Postes p GROUP BY p.TypeP MINUS/EXCEPT SELECT COUNT(DISTINCT k.IDPoste) as nbp, SUM(k.NbMach) as nbm, k.TypeP FROM Postes k GROUP BY p.TypeP HAVING nbm ... and nbp ...
J'ai également essayé avec NOT IN, NOT EXISTS mais sans succès...
J'espère avoir été clair dans l'énoncé de mon problème et que vous pourrez m'aider à trouver une solution
Merci
RH
Partager