IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

question de mysql


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 37
    Par défaut question de mysql
    j'ai un question de mysql, merci de me repondre


    les 3 tableaux
    campagne
    +----------+-----------------+---------+--------------+-------+
    | CodeCamp | Titre | CodeSoc | Produit | Cible |
    +----------+-----------------+---------+--------------+-------+
    | NE025 | Nescafe-divorce | 101 | Cafe soluble | MM50 |
    | P806D | 806-obsession | 120 | Voiture | TOUS |
    | BA75 | Banque ideale | 102 | Banque | MM50 |
    +----------+-----------------+---------+--------------+-------+

    spot
    +----------+-------------------------+-------+----------+
    | CodeSpot | Libelle | Duree | CodeCamp |
    +----------+-------------------------+-------+----------+
    | NS1 | Depart de la mere | 135 | NE025 |
    | NS2 | Retour du dimanche soir | 115 | NE025 |
    | P12 | Visite concurrence | 120 | BA75 |
    | P13 | Preparation panneaux | 100 | BA75 |
    | P14 | Accueil client | 105 | BA75 |
    | NS3 | Vacances de Paques | NULL | NE025 |
    +----------+-------------------------+-------+----------+

    programmation
    +----------+---------+---------+------------+
    | CodeSpot | Media | Moment | Date |
    +----------+---------+---------+------------+
    | NS1 | FRANCE3 | FINS | 2005-04-25 |
    | NS1 | TF1 | SOIR | 2005-03-15 |
    | NS2 | TF1 | DEBSOIR | 2005-04-25 |
    | NS3 | TF1 | SOIR | 2005-03-15 |
    | P12 | TF1 | DEBSOIR | 2005-03-23 |
    | P13 | FRANCE3 | DEBSOIR | 2005-04-25 |
    | P13 | TF1 | DEBSOIR | 2005-04-25 |
    +----------+---------+---------+------------+

    j'ai des questions
    "Code et Titre des campagnes dont au moins un spot passe en debut de soiree"
    ma reponse est:
    "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select  CodeCamp,Titre from campagne
    where Titre = any
    	(select  Titre from campagne natural join spot natural join programmation where Moment='DEBSOIR');
    le resultat est:
    +----------+-----------------+
    | CodeCamp | Titre |
    +----------+-----------------+
    | NE025 | Nescafe-divorce |
    | BA75 | Banque ideale |
    +----------+-----------------+

    pour le question
    "Code et Titre des campagnes dont tous les spot passe en d茅but de soir茅e"
    ma reponse est:
    "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select  CodeCamp,Titre from campagne
    where Titre = all
    	(select  Titre from campagne natural join spot natural join programmation where Moment='DEBSOIR');
    le resultat est:
    Empty set (0.00 sec)


    Meme si le resultat de premire question est correte,mais je pense il y a un probleme,je ne trouve pas;
    pour le 2eme je pense le resultat est
    +----------+-----------------+
    | CodeCamp | Titre |
    +----------+-----------------+
    | BA75 | Banque ideale |
    +----------+-----------------+

  2. #2
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Pour la première requête, elle me semble bonne. Tu peux aussi écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT CodeCamp,Titre FROM campagne NATURAL JOIN spot NATURAL JOIN programmation WHERE Moment='DEBSOIR';
    Pour la deuxième, c'est tout à fait normal qu'elle ne te retourne aucun résultat. Ta condition "Titre = ALL ( ...)" est toujours fausse : le titre de la campagne en cours de traitement ne peut pas être égal à tous les titres des campagnes dont un spot passe le soir.

    Une solution pourrait être quelque chose du genre :

    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
    SELECT CodeCamp, Titre
    FROM campagne c
    WHERE NOT EXISTS
    (
    	SELECT *
    	FROM spot s
    	WHERE s.CodeCamp = c.CodeCamp
    	AND s.CodeSpot NOT IN
    	(
    		SELECT s2.CodeSpot
    		FROM spot s2 NATURAL JOIN programmation
    		WHERE s2.CodeCamp = s1.CodeCamp
    		AND Moment = 'DEBSOIR'
    	)
    )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Question] Logs mysql et scripts php
    Par sliderman dans le forum Requêtes
    Réponses: 0
    Dernier message: 25/10/2007, 15h39
  2. question sur mysql et sql server
    Par DJERDJAR YACINE dans le forum Outils
    Réponses: 1
    Dernier message: 19/07/2007, 08h54
  3. Question Division Mysql
    Par Joe Le Mort dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 18/12/2006, 13h13
  4. Diverses questions concernant mysql et php
    Par chnain dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2006, 18h42
  5. [Question] Php - MySQL
    Par Badaboumpanpan dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/06/2006, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo