nerone21
Messages postés108Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention 5 mai 2011
-
5 sept. 2008 à 09:55
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
5 sept. 2008 à 23:00
Bonjour les Requeteurs...
Alors j'ai un petit probleme pour ecrire une requete et je suis Ultra-Debutant.
Ce sont des requetes Mysql.
Je m'explique, j'ai 3 tables ayant un champ commun que nous appellerons IDsiteinternet.
1ere table: tout les sites internet. (idsiteinternet , siteinternet)
2eme table: Sites internet exclus. (idsiteinternet)
3eme table: site internet visité dans une periode. (idsiteinternet, periode)
donc je cherche a faire une requete me donnant tout les sites internet visités durant une periode et retirer toutes les resultats dont l'idsiteinternet se trouve dans les sites exclus.
Moi j'ai fait ceci:
SELECT sitesinternet.idsiteinternet, periode
FROM sitesinternet, sitesexlus, sitesvisites
WHERE (sitesvisites.periode = "periode")
AND (sitesinternet.idsiteinternet = sitesvisites.idsiteinternet)
AND (sitesexlus.idsiteinternet != sitesvisites.idsiteinternet)
Alors premierement ca multiplie le resultats par le nombre de fois que j'ai de sitesexclus, donc j'ai tenté de pallier à ça en ajoutant " GROUP BY sitesinternet.idsiteinternet"
Et ensuite les sites exclus sont quand même dans les résultat donc je ne sais surement pas faire correctement la requête. HEELP.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 5 sept. 2008 à 23:00
Je ne connais pas MySQL et je ne peux pas tester, mais à tout hasard essaye peut-être ceci :
SELECT sitesinternet.idsiteinternet, periode
FROM sitesinternet, sitesvisites
WHERE (sitesvisites.periode = "periode")
AND (sitesinternet.idsiteinternet = sitesvisites.idsiteinternet)
AND (sitevisites.idsiteinternet NOT IN (SELECT idsiteinternet FROM sitesexclus))