Bonjour,
Je suis occupé a faire une application en php et j'ai un résultat bizarre.

Voici le contexte:
J'ai une table sousreseau contenant une série de colonne. Dans cette table, j'ai trois champs qui permettent de gèrer des relations entre champs. zoneid et site font références vers 2 autres tables. ssparent référence sousreseau.id.

Je veux sélectionner l'ensemble des sousreseaux qui n'ont pas de site attaché, ne sont pas attachés à une zone. De plus, je ne veux pas des sousreseaux qui sont parent d'autre.
Voici la requête:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
SELECT     CONCAT(S.ip_a,'.',S.ip_b,'.',S.ip_c,'.',S.ip_d,'/',S.masque,'[',S.description,']')   AS opt,
 S.id as id ,
S.ssparent, 
S.zoneid, 
S.nom_site
 
FROM sousreseau S 
 
WHERE S.zoneid IS NULL AND S.nom_site IS NULL AND 
S.id NOT IN 
(SELECT S1.ssparent FROM sousreseau S1 WHERE S1.ssparent IS NOT NULL)
La requête me renvoie des résultats mais pas tous. J'ai 373 enregistrements. Je devrais en recevoir environs 190 et je n'en reçois que 186. Il ya un indexe sur zoneid, nom_site et ssparent et id est primaire.

J'ai tenté de mettre la clause limit mais ca ne fonctionne pas. Est-il possible de contourner ce problème.

Merci d'avance