Sql server 将col的表1插入表2中

Sql server 将col的表1插入表2中,sql-server,tsql,sql-server-2008,Sql Server,Tsql,Sql Server 2008,我有两个表,一个名为'bb',col1=bid(int自动递增)col2=max_amt(十进制) 另一个表'bbc'带有col1=bid(int)和col2=clm(varchar),我想要的是能够让我的bb.bid=bbc.bid和我的bbc.clm彼此相邻显示。例如: 英国广播公司表格: 我想: bid clm 8 333 我得到: bid clm 8 333 查询: INSER

我有两个表,一个名为'bb',col1=bid(int自动递增)col2=max_amt(十进制) 另一个表'bbc'带有col1=bid(int)和col2=clm(varchar),我想要的是能够让我的bb.bid=bbc.bid和我的bbc.clm彼此相邻显示。例如: 英国广播公司表格:

我想:

bid  clm

8   333
我得到:

bid       clm             

8                   
           333
查询:

INSERT INTO [bbc] bid, clm)     
SELECT [bb].bid  
  FROM [bb]  
 WHERE  NOT EXISTS(SELECT bid 
from [bbc]
WHERE [bbc].bid = [bb.bid)

有什么建议吗?

看起来您在bbc表中有两条记录-一条在bid列中有数据,另一条在clm列中有数据。如果希望两个字段都显示在同一条记录中,可以执行如下插入操作:

INSERT INTO bbc (bid, clm)
VALUES (8, '333')

让select执行您想要的操作,然后只添加insert。我不太清楚你想要什么

   SELECT [bb].[bid], [bb].[max_amt], [bbc].[clm]   
   FROM [bb] 
   JOIN [bbc]
   on [bb].[bid] = [bbc].[bid] 

我在c#应用程序中使用此语句,当我运行它时,它在正确的行中显示“8”,在正确的列中显示clm 333,但没有与它对齐。我正在“数据源”视图中使用“预览数据”。您能告诉我们表中的数据是什么样的吗?表的结构是什么