Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1147 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  INSERT en prenant 2 lignes dans la table source

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

INSERT en prenant 2 lignes dans la table source

n°1899981
gorion18
Posté le 29-06-2009 à 09:04:26  profilanswer
 

Bonjour,
 
Alors voila j'ai un petit problème au niveau d'un insert, je voudrais rendre celui-ci automatique à la création de ma base.
 
J'ai deux tables et la table association qui lie ces deux tables.
TABLE1 (ID_1, CD_1,LB_1)
TABLE2 (ID_2, CD_2, LB_2, NR_2)
TABLE3 (#ID_1, #ID_2)
 
J'ai dans TABLE2 différents objets et le NR_2 ne varie que de 1 à 3, le but serait de pouvoir lier automatiquemet 3 objets de ma TABLE2 avec un objet à créé de TABLE1.
Ceci doit pouvoir être automatique car cette liaison doit se faire seulement avec des objets dont le NR_2 est différent. Je dois donc créé un objet dans TABLE1 pour chaque combinaison de 3 objets (un avec NR=1, l'autre avec NR=2 et enfin NR=3).
 
J'espère avoir été claire. Si besoin n'hésitez pas à posez des questions car je ne vois vraiment pas comment faire.
 
Cordialement
 
gorion18
             

mood
Publicité
Posté le 29-06-2009 à 09:04:26  profilanswer
 

n°1899982
pataluc
Posté le 29-06-2009 à 09:13:47  profilanswer
 

si je comprends bien, CD_1=CD_2 et LB_1=LB_2 tout le temps?
 
je suis pas sur de voir l'interet, mais en tout cas il me semble que ton modèle est mal concu si tu es obligé de faire ca...
 
en fait, il te faudrait une table  
TABLE1 (ID_1, CD_1,LB_1) et une autre  
TABLE2 (ID_2, NR_2)  et c'est tout à priori. en utilisant l'héritage.
 
mais j'irai même plus loin en disant que tu as systématiquement les valeurs 1, 2 et 3 pour tous les champs, je suis même pas sur que ca vaille le coup de les mettre en base.
 
 
et sinon, en supposant que tu ne puisse pas toucher au modele de données, tu devrais voir du coté des triggers...

n°1899984
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 29-06-2009 à 09:15:27  profilanswer
 

rien compris à ce que tu veux faire, mais pour moi, insertion automatique = trigger

 

edit: [:benou_grilled]


Message édité par Harkonnen le 29-06-2009 à 09:15:46

---------------
J'ai un string dans l'array (Paris Hilton)
n°1900601
gorion18
Posté le 30-06-2009 à 15:19:01  profilanswer
 

EUh je crois que je me suis pas fait bien comprendre donc je vasi tenter de réexpliquer.
 
En fait je voudrais lier 3 objets de ma TABLE1 pour en faire un objet de ma TABLE2.
Et pour lier ces objets je me fie au champ NR_2 qui ne peut être égale que a 1,2 ou 3 pour un objet.
Je veuw que l'objet que je créé dans ma TABLE2 soit une composition d'un objet où NR_2 = 1, d'un autre ou NR_2 = 2 et d'un autre ou NR_2 = 3.
Je pense avoir été plus claire.
Vu qu'il y a un grand nombre de possibilité je voudrais pas tout faire à la main. Le Trigger serait peut-être une solution mais je ne vois pas comment faire cela.
 
Merci de m'éclairer.
 
Cordialement
 
gorion18

n°1900609
pataluc
Posté le 30-06-2009 à 15:28:27  profilanswer
 

essaie de réexpliquer en détaillant le type d'objet dont tu parles (c'est quoi, des voitures? des pc? des cartables?) histoire qu'on visualise un peu mieux parce que la c'est pas transcendant.

n°1900610
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 30-06-2009 à 15:28:43  profilanswer
 

euh pour moi j'ai toujours rien compris  
dsl c'est peut etre moi qui comprends rien
donne un exemple concret , je pense que ca sera plus simple a comprendre

n°1900633
gorion18
Posté le 30-06-2009 à 16:16:26  profilanswer
 

Imaginons que dans ma TABLE1 se soient des articles de pêche par exemple de 3 catégories différentes.
(catégorie 1 : bouchons, catégorie 2 : lignes, catégorie 3 : cannes a pêche)  (la catégorie représenterait ici le NR_2)
Et on souhaiterait créé tous les packs possible contenant un bouchon, une ligne et une canne a pêche et insérer ce pack dans ma TABLE2 en faisant les bonnes liaisons dans ma TABLE3. voila je peux pas être plus clair.
Donc je voudrais savoir comment créer ces packs automatiquement (c'est un exemple)
 
Merci
 
cordialement
 
gorion18

n°1900646
pataluc
Posté le 30-06-2009 à 16:31:34  profilanswer
 

ben c'est déja BEAUCOUP plus clair... ^^

 

du coup ce qu'il te faut comme requête c'est qqchose du genre:

Code :
  1. SELECT t1.*, t2.*, t3.*
  2. FROM TABLE1 t1, TABLE1 t2, TABLE1 t3
  3. WHERE t1.NR_2='1'
  4. AND t2.NR_2='2'
  5. AND t3.NR_2='3'


ca permet de faire le produit cartésien de TABLE1 avec elle même 3 fois.

 

ensuite tu peux insérer les résultat de cette requête dans une autre table via un

Code :
  1. INSERT INTO TABLE2 SELECT t1.*, t2.*, t3.*
  2. FROM TABLE1 t1, TABLE1 t2, TABLE1 t3
  3. WHERE t1.NR_2='1'
  4. AND t2.NR_2='2'
  5. AND t3.NR_2='3'


Message édité par pataluc le 30-06-2009 à 16:32:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  INSERT en prenant 2 lignes dans la table source

 

Sujets relatifs
"Fusionner" deux Itératorss dans une Jsp[SGBD/SQL] Date de modification des enregs d'une table Oracle
Jcheckbox dans Jtable mais pas sur toutes les lignes[Oracle9i]­ Connaître le couple table/colonne parent lointain d'une FK
Mettre mon livre d'or (php) dans une balise <table>VBA et excel : suppression de lignes correspondantes
Error Javascript:"Object Required"- 5 lignes de code [RESOLU]Code source d'une page internet
somme de lignes colonne B avec contrainte sur colonne Atable partagée entre 2 préfix
Plus de sujets relatifs à : INSERT en prenant 2 lignes dans la table source


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR