2009-07-13 6 views
3

J'ai des tables comme ceci:la fusion de deux tables avec la même colonne de sens dans un

Table Articles 
--------------- 
AID(PK) Name PublisherID Words 


Table Books 
--------------- 
BID(PK) Title PublisherID Date 

Je veux les fusionner comme:

Table Total 
--------------- 
Title PublisherID 

Dans cette nouvelle table, Nom dans Table.Articles appartiendra à Titre colonne, parce que .. Articles. Nom et Livres. Titre signifie la même chose :)

Toutes les réponses seront très appréciées :)

Merci

Répondre

6
select title, publisherid from books 
union all 
select name, publisherid from articles 
+0

Dans Oracle, "CREATE TABLE as (la requête David Aldridge)" pour créer la table avec la structure apropiate et copier toutes les données. – Jonathan

+0

merci beaucoup !!! ça marche parfaitement :) Je ne connaissais pas la commande 'all'. – wooohoh

+1

@wooohoh c'est en fait "union tout". Cela ne vaut rien que "union all" liste toutes les entrées de vos tables, y compris les doublons. En utilisant juste "union" permettra d'éliminer les doublons - chaque entrée ne sera répertoriée qu'une seule fois. Vous devez décider quel comportement est souhaitable dans votre scénario. – kristof

1

Si je comprends bien, vous cherchez le résultat de cette:

select name, publisherId 
from TableArticles 
union 
select title, publisherId 
from TableBooks 
+0

Problème à propos de cette requête: s'il y a le même nom/titre, ils seront fusionnés. Mais merci pour une réponse de toute façon !!! – wooohoh

Questions connexes