Bonjour,
Je dois lier le champ d'une table lors de sa création (ou après) à un autre champ d'une table référence, comment faire s'il vous plait ? (table1.diagnostic.id à table2.diagnostic_id)
PS : Je suis sur management studio
Merci d'avance,
Bonjour,
Je dois lier le champ d'une table lors de sa création (ou après) à un autre champ d'une table référence, comment faire s'il vous plait ? (table1.diagnostic.id à table2.diagnostic_id)
PS : Je suis sur management studio
Merci d'avance,
bonjour,
pour la partie SQL lisez ceci : http://sqlpro.developpez.com/cours/s...partie2#L7.1.7
En fait, j'ai déjà créé mes tables, mais je veux joindre un champ de ces tables avec une autre mais même en lisant ton document je ne vois pas comment faire
oki, qu'entendez-vous exactement par joindre ?
J'entends par joindre "lier".
J'ai une table de référence avec un table1.diagnostic.id, je voudrais lié cet id au champ id de la table que je viens de créer (table2.diagnostic_id).
Dans ma table 2, j'ai des données dans une colonne qui me permettent de déterminer automatiquement l'id que j'ai lié. Du coup, quand je met une donnée dans ma colonne code, il déduit automatiquement.
Je suis désolée de ne pas être clair mais je débute , merci en tout cas de ton soutien ^^
non c'est pas claire.
Si vous voulez sélectionner des données afin de les afficher, tournez vous vers la clause SELECT.
Si vous voulez mettre à jour des données d'une ligne tournez vous vers la clause UPDATE.
Si vous voulez insérez une nouvelle ligne dans une table tournez vous du côté de la clause INSERT.
Si vous voulez créer une relation entre deux table (contrainte) c'est le lien au dessus.
Quant aux jointures entre différente table (généralement pour une sélection de donnée) regardez du côté des jointures interne ou externe.
Sur management studio, si j'écris cette requête et que je l'enregistre, mes tables sont elles liées ?
Je travail sur 2 bases différentes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT dbo.algoCancerV1Ghm.ghm_id, 2012.dbo.ghm.id FROM dbo.algoCancerV1Ghm INNER JOIN 2012.dbo.ghm ON dbo.algoCancerV1Ghm.codeGhm = 2012.dbo.ghm.codeGhm
Cette requete permet de sélectionner (restitution uniquement) les lignes présentent dans la table algoCancerV1Ghm et présente ghm avec la condition de jointure indiquée.
Ca s’arrête là.
Si pour vous "liéer" correspond à la description que je viens de faire, oui, sinon non :p
Mes tables ont 2 champs en commun, je voudrais les lier via l'id pour lorsque je rentre le 2e champ, l id s'implémente automatiquement sur ma table algocancer
Bonjour
tu peux être plus clair on donnent :
1-la structure de tes tables.
2-le résultat souhaiter avoir
3-pour quoi tu veux quelle soit relie : pour mise a jour ou sélection , ajout ....ect
A+
,
Si une réponse vous a permis d'avancer , n'oublie pas de mettre
Ne pas oublier
1 - alors mes tables sont comme ceci :
Table1 = diagnostic.id, codeDiag, liste1, liste 3
Table2 = diagnostic_id, codeDiag,liste4
2- le résultat est que lorsque je met dans ma table2 un codeDiag, il implémente automatiquement le diagnostic_id correspondant.
3 - je souhaite faire une MAJ de la table 2.
Il se peut que je ne sois pas clair, si c'est le cas j'abandonne ^^ je ne suis pas obligé de faire cet étape
Bonsoir
essaye avec cette requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 update base2.dbo.Table2 SET base2.dbo.Table2.ccodeDiag=(select base1.dbo.Table1.codeDiag from base1.dbo.Table1 where base1.dbo.Table1.diagnostic.id=base2.dbo.Table2.diagnostic.id)
Si une réponse vous a permis d'avancer , n'oublie pas de mettre
Ne pas oublier
Encore une fois, cette requete mettra à null tous les ccodeDiag des lignes qui ne satisfont pas la condition de jointure.
Est-ce voulu ?
Bonjour,
Vu que la table 2 doit être mise à jour lors d'une modification d'une ligne de la table 1, il me semble qu'un trigger sur la table 1 soit la solution.
Tatayo.
Bonjour,
Je pense surtout qu'il faudrait revoir la modélisation.
Quelles sont les clefs primaires et étrangères de ces deux tables.
Si j'ai bien compris, la colonne diagnostic_id n'a rien a faire dans la table 2. mais il faudrait en savoir plus pour être précis (table1 et table2 n'est pas très explicite)
Alors c'est bien que vous ne devriez pas.je ne suis pas obligé de faire cet étape
Éventuellement, créez une vue pour simplifier vos requêtes par la suite
Franchement un grand merci pour vous donner du mal pour moi piètre débutante,
la fonction update m a effectivement permis de mettre a jour mes id via le code diagnostic, je suis très limité et cela semble fonctionner.
Merci encore Punkoff, Tatayo et diablo-dz.
Je vous souhaite pleins de réussite
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager