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

 PostgreSQL Discussion :

Enregistrements / clones


Sujet :

PostgreSQL

  1. #1
    Membre émérite
    Enregistrements / clones
    Bonjour,

    Tout d'abord, désolé pour cet titre pas très clair.

    Je suis un total débutant en SQL, et j'ai décidé de m'y mettre pour faire une sorte d'inventaire.
    Dans cet inventaire, il y a des enregistrements qui sont des "clones" d'autres enregistrements.

    Imaginez que vous teniez un magasin, et qu'il y a des articles de marque, modèle, aspect, prix différents, mais qui sont en fait des clones.
    Cela pourrait être des produits sortis de la même usine chinoise, mais avec un label différent.
    Ou des modèles de voiture de marque Peugeot et Opel, avec de légères variations de carrosserie.

    Comment matérialiser cette relation entre articles ?

    Merci.

  2. #2
    Membre chevronné
    Bonjour,
    Si j'ai bien compris

    En fait, traiter ces clones revient à créer comme pour les catégories ou familles, un champ "id-clone" dans article par exemple (id, libelle, id-clone)
    et une table clone avec comme champs par exemple (id, libelle)

    Ainsi on suppose par exemple que :
    un article A(id 1) aura comme information id-clone = 1
    un article B(id 2) aura comme information id-clone = 1
    un article C(id 3) aura comme information id-clone = 2
    un article D(id 4) aura comme information id-clone = 2
    un article E(id 5) aura comme information id-clone = 2
    un article F(id 6) aura comme information id-clone = 3
    un article G(id 7) aura comme information id-clone = 2
    un article H(id 8) aura comme information id-clone = 2
    un article I(id 9) aura comme information id-clone = 2
    un article J(id 10) aura comme information id-clone = 3

    et dans la table clone on aura donc
    id : 1, libelle : mon premier clone
    id : 2, libelle : mon 2ème clone
    id : 3, libelle : mon 3ème clone
    id : 4, libelle : 4ème clone à venir
    etc...

    et en requête
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select a.id, a.libelle from article a 
    inner join clone c
    on a.id-clone = c.id 
    where  c.id =2


    Qui renverra tout ce qui correspond à mon 2ème clone
    =>
    3,article C
    4,article D
    5,article E
    7,article G
    8,article H
    9,article I
    Il ne pleut jamais en Moselle !

  3. #3
    Membre émérite
    Merci @vttman, cela devrait effectivement faire l'affaire !