2017-08-09 2 views
0

scénarios:Comment puis-je créer une requête pour afficher la même valeur dans 20 tables ou plus dans SQL?

Tableau 1

Name  ID  dept 
John  112  Fin 
Mary  113  Act 

Tableau 2

Name  email  
John  [email protected] 
Mary   [email protected] 

Tableau 3

Name  Supervisor 
John   Kelly 
Mary   Adam 

Tableau 4

Namevalue  Salary 
John   1000 
Mary    1000 

Résultats escomptés:

Je voudrais savoir l'apparition de John et Mary dans toutes ces tables. Il y a plus de 20 tables dans la base de données de différence.

+0

ça va être ennuyeux, mais utilisez des jointures. –

+0

J'ai aussi pensé à l'utiliser, mais avoir autant de tables pour les mêmes enregistrements ça va être lourd. S'il n'y a pas d'autre moyen, je l'utiliserais. Merci pour les informations – Avi

+0

Pourquoi vos données sont-elles si fragmentées? pouvez-vous refactoriser votre base de données? –

Répondre

0

Tout d'abord, spécifiez la table principale en fonction de la qualité des données, utilisez cette table comme base, puis utilisez des jointures à gauche pour la concaténation avec d'autres tables.

Mais, je pense, il y a un problème de conception dans la base de données alors peut-être que la création de clés pour chaque utilisateur peut être utile. Par exemple, nom + nom + Utilisateur Quelque chose pour rendre les enregistrements uniques, puis utiliser les jointures sinon tous les enregistrements seront dupliqués.

+0

Merci pour l'information Dogan. J'apprécierais que vous puissiez fournir des exemples. – Avi