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

Langage SQL Discussion :

Jointure table SQL


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Jointure table SQL
    bonjour je viens de commencer le sql et je bloc

    voila je dois faire cela :

    Lié la table product à la table product_lang avec une jointure sur la
    colonne id_product des deux tables avec " id_lang = 2 " pour la table
    product_lang (pour n'avoir que le français).

    Lié la table product à la table category_lang via la colonne
    id_category_default de product et id_category de category_lang et
    toujours avec " id_lang = 2 " pour la table category_lang.


    voila le détaille des table :


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    --
    -- Structure de la table `ps_category_lang`
    --
     
    CREATE TABLE IF NOT EXISTS `ps_category_lang` (
      `id_category` int(10) unsigned NOT NULL,
      `id_lang` int(10) unsigned NOT NULL,
      `name` varchar(128) NOT NULL,
      `description` text,
      `link_rewrite` varchar(128) NOT NULL,
      `meta_title` varchar(128) DEFAULT NULL,
      `meta_keywords` varchar(255) DEFAULT NULL,
      `meta_description` varchar(255) DEFAULT NULL,
      UNIQUE KEY `category_lang_index` (`id_category`,`id_lang`),
      KEY `category_name` (`name`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `ps_product`
    --
     
    CREATE TABLE IF NOT EXISTS `ps_product` (
      `id_product` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `id_supplier` int(10) unsigned DEFAULT NULL,
      `id_manufacturer` int(10) unsigned DEFAULT NULL,
      `id_tax` int(10) unsigned NOT NULL,
      `id_category_default` int(10) unsigned DEFAULT NULL,
      `id_color_default` int(10) unsigned DEFAULT NULL,
      `on_sale` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `ean13` varchar(13) DEFAULT NULL,
      `ecotax` decimal(17,2) NOT NULL DEFAULT '0.00',
      `quantity` int(10) unsigned NOT NULL DEFAULT '0',
      `price` decimal(20,6) NOT NULL DEFAULT '0.000000',
      `wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000',
      `reduction_price` decimal(17,2) DEFAULT NULL,
      `reduction_percent` float DEFAULT NULL,
      `reduction_from` datetime NOT NULL DEFAULT '1970-01-01 00:00:00',
      `reduction_to` datetime NOT NULL DEFAULT '1970-01-01 00:00:00',
      `reference` varchar(32) DEFAULT NULL,
      `supplier_reference` varchar(32) DEFAULT NULL,
      `location` varchar(64) DEFAULT NULL,
      `weight` float NOT NULL DEFAULT '0',
      `out_of_stock` int(10) unsigned NOT NULL DEFAULT '2',
      `quantity_discount` tinyint(1) DEFAULT '0',
      `customizable` tinyint(2) NOT NULL DEFAULT '0',
      `uploadable_files` tinyint(4) NOT NULL DEFAULT '0',
      `text_fields` tinyint(4) NOT NULL DEFAULT '0',
      `active` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `indexed` tinyint(1) NOT NULL DEFAULT '0',
      `date_add` datetime NOT NULL,
      `date_upd` datetime NOT NULL,
      `video` varchar(255) DEFAULT NULL,
      `en_avant` int(11) NOT NULL DEFAULT '0',
      `en_avant_fournisseur` int(11) NOT NULL DEFAULT '999',
      `en_avant_metier` int(11) NOT NULL DEFAULT '999',
      `en_avant_application` int(11) NOT NULL DEFAULT '999',
      PRIMARY KEY (`id_product`),
      KEY `product_supplier` (`id_supplier`),
      KEY `product_manufacturer` (`id_manufacturer`),
      KEY `id_tax` (`id_tax`),
      KEY `id_category_default` (`id_category_default`),
      KEY `id_color_default` (`id_color_default`),
      KEY `date_add` (`date_add`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2125 ;
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `ps_product_lang`
    --
     
    CREATE TABLE IF NOT EXISTS `ps_product_lang` (
      `id_product` int(10) unsigned NOT NULL,
      `id_lang` int(10) unsigned NOT NULL,
      `description` text,
      `description_short` text,
      `link_rewrite` varchar(128) NOT NULL,
      `meta_description` varchar(255) DEFAULT NULL,
      `meta_keywords` varchar(255) DEFAULT NULL,
      `meta_title` varchar(128) DEFAULT NULL,
      `name` varchar(128) NOT NULL,
      `available_now` varchar(255) DEFAULT NULL,
      `available_later` varchar(255) DEFAULT NULL,
      UNIQUE KEY `product_lang_index` (`id_product`,`id_lang`),
      KEY `id_lang` (`id_lang`),
      KEY `name` (`name`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    et voila le code que j ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	SELECT   product  
            FROM     JOIN product_lang 
            WHERE    ps_product.id_product = product_lang.id_product  
            AND      category_lang.id_category_default = category_lang.id_category 
    		AND      id_lang = 2 ;

    HELP!!

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    et quel est le problème ?

    Rajouter une autre jointure à la suite de la 1ere.


    Sinon vous y verriez plus claire si vous normalisiez vos jointures : http://sqlpro.developpez.com/cours/s...ointures/#LIII

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    le problème et que mon code et faux si vous pouvez me donner le bon code
    je comprend pas trop

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Pour la structure de base d'une requete sql regardez ce lien : http://sqlpro.developpez.com/cours/sqlaz/select/

    Pour les jointures la doc dans mon précédent poste est adéquate

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'ai fait cela c'est bien ce qui et demander ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            SELECT   product  
            FROM     JOIN product_lang 
            WHERE    ps_product.id_product = product_lang.id_product  
            AND      id_lang = 2 ;
     
     
    	SELECT   product 
    	FROM     JOIN category_lang 
    	WHERE    category_lang.id_category_default = category_lang.id_category
    	AND      id_lang = 2 ;

Discussions similaires

  1. [MySQL-3.23] jointure tables SQL
    Par briza dans le forum Requêtes
    Réponses: 1
    Dernier message: 12/03/2014, 08h38
  2. Jointure de deux tables SQL
    Par javast dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/05/2011, 12h56
  3. Jointure entre un fichier Excel et deux tables SQL Server EN VB
    Par sql_bin dans le forum Général VBA
    Réponses: 1
    Dernier message: 10/11/2010, 15h57
  4. jointure sur 3 tables SQL SERVEUR 2005
    Par djilos dans le forum Développement
    Réponses: 4
    Dernier message: 06/05/2009, 15h12
  5. [SQL] Forcer l'affichage d'une table SQL malgrès des collones (jointure) vide
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 19/04/2007, 10h18

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