MySQL - Comment créer une nouvelle table qui est une jointure sur la clé primaire de deux tables existantes
J'ai deux tables existantes, avec différents domaines, à l'exception d'identité Principal (varchar, pas un int). Je veux créer une troisième table qui est essentiellement une fusion de ces deux, de telle sorte que pour une Clé Primaire, j'ai tous les champs dans une table.
Quelle est la bext façon de faire cela?
Merci beaucoup
source d'informationauteur Richard H
Vous devez vous connecter pour publier un commentaire.
Si vous êtes sûr que vous en avez un et qu'une seule ligne dans les deux tables pour un ID primaire, alors cela devrait fonctionner:
Vous pourriez omettre tablea et tableb principal champ ID de la liste des champs si vous n'avez pas réellement besoin d'eux (dans cette requête, les deux contiennent la même valeur, en raison de la
tablea.primaryID = tableb.primaryID
condition).La syntaxe est relativement similaire pour un
VIEW
.Pour obtenir une vue, à faire la même chose, sauf à remplacer le "TABLEAU" avec "VUE". Si vous y allez avec la table, plutôt que le point de vue, assurez-vous d'ajouter une clé primaire en tant que ne seront pas ajoutés par défaut.
Pour MS SQL utiliser cette
Pourquoi êtes-vous créer une nouvelle table? Pourquoi ne pas simplement exécuter une requête à chaque fois que vous avez besoin des données? Si vous êtes juste de rejoindre deux tables sur leur clé primaire, puis la majorité de vos données d'accès du temps va être passé à organiser les données pour votre application. Vous n'allez pas être en économisant beaucoup de temps avant de rejoindre les tables, et vous allez manger beaucoup de l'espace. De Plus, vous êtes à la prise de vue à votre gros orteil, attendant juste pour la première fois que vous mettez à jour votre source de tables et d'oublier d'exécuter votre script de mise à jour pour copier les modifications apportées à votre table jointe. Les données en double est malmais c'est parfois nécessaire. Cela ne ressemble pas à un de ces moments.