2013-02-17 110 views
0

这里我有两个表。一个被称为table1并有一栏word,这是数据类型varchar(500)的,看起来像在SQL Server中将两个表连接到一个表中

a 
pen 
book 
like 
nice 
..... 

另一台是table2并具有数据类型ntext的列meaning,看起来像

one 
a long thin object used for writing 
reading material 
to enjoy 
pleasant 
....... 

现在我想加入table1和table2,并与他们做出另一个表table3

table3将有t WO是wordmeaning“一栏,将看起来像

a  one 
pen a long thin object used for writing 
book reading material 
like to enjoy 
nice pleasant 
..... ....... 

我怎么能这样做在SQL Server中的列?

+2

你在这两张桌子之间有什么联系?如果你也显示表格结构会有帮助吗? – DevT 2013-02-17 06:23:51

+0

您必须在第二个表中有一个新的列,比如'ObjectId'作为table1名称的外键。但为什么不把它们存储在一张桌子上呢? – 2013-02-17 06:25:28

+0

我的数据库是一个字典数据库,第一个表包含英文单词,第二个表包含它们各自的含义。@TilT – like 2013-02-17 06:51:54

回答

1

您最好在表1中有一个PRIMARY KEY列(让我们称之为术语)和一个FOREIGN KEY列(让我们称之为定义)。然后,你可以使用这些列,让您的结果

SELECT term, definition 
    FROM terms t LEFT JOIN 
     definitions d ON t.termid = d.termid 

这里是sqlfiddle

恕我直言,没有必要对表3加入两个表。您只需使用这样的查询来获得所需的结果。

这种方式,如果需要的话,你可以存储每个术语多个定义。