Je voudrais savoir s'il est possible de sélectionner certaines colonnes d'une table et une autre colonne d'une seconde table, qui concernerait une colonne non importée dans la première table. Je dois obtenir ces données d'accès, et je ne sais pas si cela est possible avec Access, ou SQL en général.Instruction SQL à partir de deux tables
Répondre
En supposant que la structure de la table suivante:
CREATE TABLE tbl_1 (
pk_1 int,
field_1 varchar(25),
field_2 varchar(25)
);
CREATE TABLE tbl_2 (
pk_2 int,
fk_1 int,
field_3 varchar(25),
field_4 varchar(25)
);
Vous pouvez utiliser les éléments suivants:
SELECT t1.field_1, t2.field_3
FROM tbl_1 t1
INNER JOIN tbl_2 t2 ON t1.pk_1 = t2.fk_1
WHERE t2.field_3 = "Some String"
En ce qui concerne le poste de Bill, il y a deux façons de créer REJOIGNEZ est dans des requêtes SQL:
Implicite - La jointure est créée en utilisant la clause WHERE du rès avec plusieurs tables étant précisé dans la clause FROM
explicite - La jointure est créée à l'aide le type approprié de clause JOIN (INNER, GAUCHE, DROITE, COMPLET)
Il est toujours recommandé que vous utilisez la syntaxe JOIN explicite en tant que jointures implicites peut présenter des problèmes une fois que la requête devient plus complexe. Par exemple, si vous ajoutez plus tard une jointure explicite à une requête qui utilise déjà une jointure implicite avec plusieurs tables référencées dans la clause FROM, la première table référencée dans la clause FROM ne sera pas visible pour la table jointe explicitement.
Ce que vous recherchez sont-JOIN:
http://en.wikipedia.org/wiki/Join_(SQL)
Vous avez besoin des clés primaires pour les ensembles de données référencées et les clés étrangères dans la première table.
Les clés primaires et étrangères ne sont pas strictement nécessaires. –
Mais recommandé (au moins si vous me demandez ;-) – okoman
Bien sûr, je peux être d'accord avec cela. Mais vous avez dit "besoin" dans votre réponse. –
Je ne suis pas sûr à 100% que je comprends votre question.
est le suivant vrai:
Votre première table est importée d'ailleurs. Vous importez uniquement certaines colonnes. Vous souhaitez créer une requête qui référence une colonne que vous n'avez pas importée.
Si cela est vrai, ce n'est tout simplement pas possible. En ce qui concerne le moteur de requête Access concerné, les colonnes non importées n'existent pas.
Pourquoi ne pas simplement les importer?
Je pense que vous avez peut-être mal interprété la question parce que le mot «importé» a été utilisé d'une manière un peu étrange. – Fionnuala
Mais les clés primaires rendent la requête plus efficace
Si vous n'avez pas de clés primaires, vous n'avez vraiment pas de base de données relationnelle, et SQL ne fonctionnera donc pas très bien. –
- 1. Sql Lier deux tables
- 2. Sélection de données à partir de deux tables
- 3. SQL: Sélectionnez comme colonne de deux tables
- 4. SQL SELECT à partir de plusieurs tables
- 5. Comment joindre deux tables à partir de deux bases de données différentes?
- 6. Nav table - besoin d'informations à partir de deux tables différentes
- 7. Pourquoi mon instruction SQL compte-t-elle différents champs de tables différentes dans une instruction SQL?
- 8. Instruction SQL pour l'évaluation de plusieurs tables associées
- 9. Renvoyer plus d'une valeur à partir d'une instruction SQL
- 10. Faire une requête SQL dans deux tables
- 11. PL/SQL: Meilleure pratique pour récupérer deux tables jointes ou plus à partir d'un curseur?
- 12. MySql: Sélection à partir de plusieurs tables
- 13. Fusion de deux tables
- 14. Création d'une requête SQL à partir de plusieurs tables
- 15. Rails: Recherche de plusieurs tables à partir d'une requête
- 16. Comment puis-je interroger à partir de deux tables mais obtenir les résultats d'un seul?
- 17. Oracle - différence ou changements entre deux lignes de deux tables
- 18. SQL - Sélectionnez les lignes de deux tables différentes
- 19. générer le script SQL à partir des tables
- 20. Tables dynamiques à partir d'UDF dans SQL Server
- 21. Instruction SQL aide requise
- 22. LINQ to SQL et Joignez-vous à deux tables avec clause OR
- 23. Sélectionnez la première ligne dans une jointure de deux tables dans une instruction
- 24. Recherche deux tables
- 25. Fusionner deux tables
- 26. rdlc deux tables
- 27. reliant deux tables
- 28. Dessin de valeurs générées automatiquement à partir de la même séquence sur deux tables
- 29. Comment joindre croiser deux tables dans le serveur SQL
- 30. Regex pour extraire des colonnes de mise à jour à partir d'une instruction SQL
Inner Join sélectionne uniquement les enregistrements qui ont une correspondance dans les deux tables. Dans certains cas, Left Join pourrait être mieux (http://www.devshed.com/c/a/MySQL/Understanding-SQL-Joins/) – Fionnuala
Remou: excellente tautologie. – Dave
@Dave logique ou rhétorique? – Fionnuala