Vous n'êtes pas identifié(e).
Pages : 1
bonjour,
je cherche à effectuer une commande SELECT sur un sous ensemble d'une table, sous ensemble déterminé par toutes les entrées en doublon sur un champ donné.
et cela coince...
les deux recherches séparées fonctionnent :
1) recherche des doublons
SELECT dhcplease.dhcplease_clientname
FROM dhcplease
GROUP BY dhcplease.dhcplease_clientname
HAVING Count(*) > 1;
2)sortie de certaines entrées de la table dhcplease
select dhcpscope.dhcpscope_name,dhcplease.dhcplease_ip_addr,dhcplease.dhcplease_clientname, dhcplease.dhcplease_time,dhcplease.dhcplease_end_time, dhcplease.delete_time
from dhcpscope,dhcplease
where dhcplease.dhcpscope_id = dhcpscope.oid
and dhcplease.dhcp_id = 1
and to_timestamp(dhcplease.dhcplease_end_time) > localtimestamp;
Mais je reste incapable de conditionner le champ de recherche de la seconde par le retour de la première...(j'ai tenté le WITH, UNION, sans succès).
Une idée ? Je vous remercie de votre aide.
jean-christophe.
Hors ligne
Bonjour,
La question n'est pas très claire, donc je vais essayer une solution 'au feeling', si ce n'est pas bon, merci de repréciser, de préférence avec un exemple, ce que vous voulez faire.
select dhcpscope.dhcpscope_name,dhcplease.dhcplease_ip_addr,dhcplease.dhcplease_clientname, dhcplease.dhcplease_time,dhcplease.dhcplease_end_time, dhcplease.delete_time
from dhcpscope,dhcplease
where dhcplease.dhcpscope_id = dhcpscope.oid
and dhcplease.dhcp_id = 1
and to_timestamp(dhcplease.dhcplease_end_time) > localtimestamp
and
dhcplease_clientname IN (
SELECT dhcplease.dhcplease_clientname
FROM dhcplease
GROUP BY dhcplease.dhcplease_clientname
HAVING Count(*) > 1
)
Est-ce ce que vous cherchiez ?
Marc.
Hors ligne
bonjour, et merci de votre réponse !
cette requête ne plante pas, contrairement aux miennes, c'est déjà beaucoup !
J'ai besoin de plus de temps pour en comprendre le retour.
Pour éclaircir mon besoin : il s'agit d'un BDD contenant les infos relatives à un serveur DHCP. L'idée est de rechercher les éventuelles erreurs de d'affectation d'adresses IP, dans ce cas ci la liste des machines (dhcplease_clientname) ayant plus d'une adresse IP (dhcplease_ip_addr) valide (to_timestamp(dhcplease.dhcplease_end_time) > localtimestamp).
merci encore,
jc
Hors ligne
Ok, donc c'est bien cette requête je pense: tout ce qu'elle rajoute à la seconde requête, c'est la vérification que le dhcplease_clientname est dans la liste des noms retournés par la sous-requête (la première requête).
Marc.
Hors ligne
Pages : 1