Merci pour votre conseil, je vais aller lire l'indication.
Seb
Merci pour votre conseil, je vais aller lire l'indication.
Seb
Merci SQLpro pour tes conseils, maintenant cela marche.
MERCI
@+ Seb
Décidement je n'ai vaiment pas de chance avec cette requete.
Le intersect sous forme de jointure marche bien quand je selectionne un garage mais quand je les veux tous il me renvoie n'importe quoi. (c'est à dire pas les bonnes données)
Pourriez-vous m'aider a rendre correcte cette requete ? (elle marche pour 1 numero du garage mais pas si je les veux tous (quand j'enleve ce qui est en rouge) Devant faire cette requête 200 fois j'aimerais bien avoir tous les résultats dans une requête car sinon je ne peux pas la faire à cause du temps ( elle dépasse les 30 secondes )
Si vous voulez m'aider et que ce n'est pas clair ou si vous avez des questions n'hesiter pas à me le signaler.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 SELECT numctl FROM ( SELECT go.numgarage , co.numctl FROM garage_outil AS go INNER JOIN ctl_outil AS co ON go.numoutil = co.numoutil WHERE NOT EXISTS ( SELECT 1 FROM ctl_outil AS co2 LEFT JOIN garage_outil AS go2 ON go2.numoutil = co2.numoutil AND go2.numgarage = go.numgarage WHERE co2.numctl = co.numctl AND go2.numoutil IS NULL ) GROUP BY go.numgarage , co.numctl UNION SELECT ga.numgarage , ct.numctl FROM garage AS ga CROSS JOIN controle AS ct WHERE NOT EXISTS ( SELECT 1 FROM ctl_outil AS co WHERE co.numctl = ct.numctl ) ) AS res, controle c WHERE numgarage = 1 AND res.numctl IN (SELECT ctg.numctl FROM garage g, controle_type_garage ctg, controle c WHERE g.numtypegarage = ctg.numtypegarage AND ctg.numctl = c.numctl AND numgarage = 1) ORDER BY codectl
J'y suis enfin arrivé !
J'ai supprimé le premier code en rouge
et remplacé le second code en rouge par :Voilà !
Code : Sélectionner tout - Visualiser dans une fenêtre à part WHERE numgarage = res.numgarage
@+ Seb
(Merci beaucoup à SQLpro et al1_24 pour votre aide)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager