读书人

问一个数据批量导入有关问题,

发布时间: 2012-03-09 16:54:57 作者: rapoo

问一个数据批量导入问题,在线等!

A数据库二张表achannel和anews
其中achannel表是:achannel_id(自动编号),achannel_name,achannel_bh
100001 公司新闻 100
100002 图片新闻 101
100003 行业新闻 102

其中anews表是:anews_id(自动编号),anews_title(标题),anews_content(内容),anews_channel(与achannel_bh关联),anews_date(日期)


B数据库二张表bchannel和bnews
其中bchannel表是:bchannel_id(自动编号),bchannel_name
100042 公司新闻
100043 图片新闻
100044 行业新闻

其中bnews表是:bnews_id(自动编号),bnews_title(标题),bnews_content(内容),bnews_channel(与bchannel_id关联),bnews_date(日期)


现在把A库中的anews中的记录要导入到B库的bnews
规则就是:anews所属的栏目名称和bnews所属的栏目名称相同.


[解决办法]
insert b..bchannel
select * from a..achannel

insert b..bnews
select * from a..anews
[解决办法]
insert into B.dbo.bnews
select a.bnews_id,a.bnews_title,a.bnews_content,a.bnews_channel,a.bnews_date
from A.dbo.news a left join A.dbo.achannel b on a.anews_channel=b.achannel_bh
where B.dbo.bnews.bnews_channel in (select achannel_id from A.dbo.achannel)

[解决办法]
fa_ge(九天) 要进化成猩猩了 好努力啊 - -
[解决办法]
welove1983() ( ) 信誉:100 2007-08-14 16:47:09 得分: 0


fa_ge(九天) 要进化成猩猩了 好努力啊 - -


-------------
呵呵,差好呢,共同
[解决办法]
现在把A库中的anews中的记录要导入到B库的bnews
规则就是:anews所属的栏目名称和bnews所属的栏目名称相同.
----------------------
你意思是不是这样:

insert into bnews
select anews_title,anews_content,anews_channel,anews_date
from anews
where anews_channel in(select bnews_channelfrom bchannel )


[解决办法]
insert B..bnews (bnews_title,bnews_content,bnews_channel,bnews_date)

select anews_title,anews_content,bchannel_id,anews_date
from A..anews an
join A..achanel ac on an.anews_channel=ac.achannel_bh
join B..bchanel bc on ac.achannel_name=bc.achannel_name
[解决办法]
好像错了个字母

insert B..bnews (bnews_title,bnews_content,bnews_channel,bnews_date)

select anews_title,anews_content,bchannel_id,anews_date
from A..anews an
join A..achanel ac on an.anews_channel=ac.achannel_bh
join B..bchanel bc on ac.achannel_name=bc.bchannel_name

[解决办法]
刚才上机试了下,发现表名写错了, achanel 就是achannel,少了个n


insert B..bnews
select anews_title,anews_content,bchannel_id,anews_date
from A..anews an
join A..achannel ac on an.anews_channel=ac.achannel_bh
join B..bchannel bc on ac.achannel_name=bc.bchannel_name
[解决办法]
INSERT INTO b..news(bnews_title,bnews_content,bnews_channel,bnews_date)
SELECT AA.bnews_title,AA.bnews_content,CC.bnews_channel,AA.bnews_date
FROM A..anews AA
INNER JOIN A..achannel BB ON AA.achannel_bh = BB.anews_channel
INNER JOIN B..bchannel CC ON BB.bchannel_name = CC.bchannel_name

读书人网 >SQL Server

热点推荐