Joindre deux colonnes de deux tables différentes
J'ai un problème à joindre les deux colonnes de deux tables différentes.
Le Scénario est: j'ai une table avec 11 colonnes et une autre table B avec 6 colonnes.
Il ya une colonne de noms SAMPLE1 qui existe dans les deux tables.Mais, SAMPLE2 à partir du 1er tableau A et ABC à partir du 2e tableau B ont la même valeur, mais avec des noms de colonne. Même avec SAMPLE3 et DEF. Maintenant, je voudrais rejoindre ce que les colonnes en une seule colonne (qui comprend des données provenant de deux tables) et le reste des colonnes doit également apparaître sur la table finale.
Exemple:
Table Un
SAMPLE1 SAMPLE2 SAMPLE3 .........SAMPLE 11 (Total 11 columns in this table)
US 75.2 US1_US NULL
INDIA 71 I3_INDIA NULL
UK 1851.23 UK1_UK NULL
Tableau B
SAMPLE1 ABC DEF............. XYZ (Total 6 columns in this table)
CHINA 123.2 C1_CHINA 2
JAPAN 1.1 J1_JAPAN 2
GERMANY 10.2314 G1_GERMANY 2
SINGAPORE 100.22 S1_SINGAPORE 2
Maintenant, je voudrais voir le résultat comme ceci:
SomeTable
SAMPLE1 SOMENAME1 SOMENAME2..SAPMLE 11 ABC DEF ..... SOMENAME3
US 75.2 US1_US NULL NULL NULL NULL
INDIA 71 I3_INDIA NULL NULL NULL NULL
UK 1851.23 UK1_UK NULL NULL NULL NULL
CHINA 123.2 C1_CHINA NULL NULL NULL 2
JAPAN 1.1 J1_JAPAN NULL NULL NULL 2
GERMANY 10.2314 G1_GERMANY NULL NULL NULL 2
SINGAPORE 100.22 S1_SINGAPORE NULL NULL NULL 2
En bref:
SÉLECTIONNEZ
(SAMPLE1(TABLEAU A) + SAMPLE1(TABLEAU B)) COMME SAMPLE1,
(SAMPLE2 + ABC) SOMENAME1,
(SAMPLE3 + DEF) SOMENAME2,
A. SAMPLE4, A. SAMPLE5,...,
B. GHI, B. JKL,...
(A. ÉCHANTILLON 11 +B. XYZ) SOMENAME3
J'ai utilisé de l'union, mais il ne fonctionne pas.
select SAMPLE1,SAMPLE2,SAMPLE3,...,SAMPLE 11 from TABLE A
UNION
SELECT SAMPLE1, ABC, DEF, ...., XYZ FROM TABLE B
Maintenant j'obtiens une erreur:
Msg 205, Niveau 16, État 1, Ligne 1
Toutes les requêtes combinées à l'aide d'une UNION,
INTERSECT ou except opérateur doit avoir
un nombre égal d'expressions dans
leurs listes cible.
J'ai utilisé de l'union, fusionnent, jointure externe complète (toutes les suggestions ou les réponses ci-dessous)
Merci de m'aider dans l'écriture du code. Fait que le code que j'ai besoin de l'utiliser dans une instruction select. Pouvez également utiliser des tables temporaires ou de l'affaire états et etc.
Grâce,
Shashra
OriginalL'auteur Shahsra | 2011-04-18
Vous devez vous connecter pour publier un commentaire.
Vous êtes probablement à la recherche d'un
join
, comme:C'est un full outer join, édité répondre
OriginalL'auteur Andomar
Jointure entre les deux tables à l'aide EXTERNE COMPLÈTE (conserver les données à partir de la table où il n'existe pas sur les autres), puis utiliser les FUSIONNER pour obtenir la commune SAMPLE1 colonne à partir de n'importe quel tableau.
Références: MSDN - à l'Aide de Jointures Externes /FUSIONNER
OriginalL'auteur RichardTheKiwi
ESSAYER CE PEUT UTILE
le tableau 1 contient 5 colonnes
le tableau 2 contient 3 colonnes
select col1,col2,col3 de la table table1
Requête
select col1,col2,col3,col4,col5 de la table table1
union
select col1,col2,col3,"," from table1
OriginalL'auteur jack.mike.info