报错:无法绑定由多个部分组成的标识符

ythk 2014-04-28 03:59:32
insert into lwmain2.dbo.LWnhdd(nh,dd,azwz,x,y,dwz,bm,sblb)
select nh,dd,azwz,x,y,dwz,bm,sblb from lwmain1.dbo.LWnhdd
where lwmain1.dbo.LWnhdd.nh<>lwmain2.dbo.LWnhdd.nh

报错为---无法绑定由多个部分组成的标识符 "lwmain2.dbo.LWnhdd.nh"。
...全文
144 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
IEEE_China 2014-04-28

---这样写
insert into lwmain2.dbo.LWnhdd(nh,dd,azwz,x,y,dwz,bm,sblb)
select nh,dd,azwz,x,y,dwz,bm,sblb from lwmain1.dbo.LWnhdd 
where  lwmain1.dbo.LWnhdd.nh not in(select nh from lwmain2.dbo.LWnhdd.nh)

回复
發糞塗牆 2014-04-28
INSERT  INTO [lwmain2].dbo.LWnhdd
        ( nh ,
          dd ,
          azwz ,
          x ,
          y ,
          dwz ,
          bm ,
          sblb
        )
        SELECT  nh ,
                dd ,
                azwz ,
                x ,
                y ,
                dwz ,
                bm ,
                sblb
        FROM    [lwmain1].dbo.LWnhdd
        WHERE   [lwmain1].dbo.LWnhdd.nh NOT IN (SELECT  [lwmain2].dbo.LWnhdd.nh FROM [lwmain2].dbo.LWnhdd)
回复
發糞塗牆 2014-04-28
晕,看到问题了,抛开insert,你的select少了表关联
回复
ythk 2014-04-28
引用 3 楼 DBA_Huangzj 的回复:
试试:
INSERT  INTO [lwmain2].dbo.LWnhdd
        ( nh ,
          dd ,
          azwz ,
          x ,
          y ,
          dwz ,
          bm ,
          sblb
        )
        SELECT  nh ,
                dd ,
                azwz ,
                x ,
                y ,
                dwz ,
                bm ,
                sblb
        FROM    [lwmain1].dbo.LWnhdd
        WHERE   [lwmain1].dbo.LWnhdd.nh <> [lwmain2].dbo.LWnhdd.nh
还是报无法绑定由多个部分组成的标识符 "lwmain2.dbo.LWnhdd.nh"。 这个错误啊,哪里的问题啊
回复
IEEE_China 2014-04-28
举例: Insert Into 表3(a,b,c,d,e,f) select 表1.a,表1.b,表1.c,表2.d,表2.e,表2.f from 表1 join 表2 on 表1.a=表2.c where 表1.b<>表2.e
回复
ythk 2014-04-28
引用 1 楼 Imaor 的回复:
既然你的select 语句没有 from lwmain2, 那么你的where中的lwmain2 从哪里来的?
那你告诉我从lwmain2中获取数据插入到lwmain1表中代码应该怎么写呢?条件是lwmain1.dbo.LWnhdd.nh<>lwmain2.dbo.LWnhdd.nh
回复
xdashewan 2014-04-28

insert into lwmain2.dbo.LWnhdd(nh,dd,azwz,x,y,dwz,bm,sblb)
select lwmain1.dbo.LWnhdd.nh,lwmain1.dbo.LWnhdd.dd,lwmain1.dbo.LWnhdd.azwz,lwmain1.dbo.LWnhdd.x,lwmain1.dbo.LWnhdd.y,lwmain1.dbo.LWnhdd.dwz,lwmain1.dbo.LWnhdd.bm,lwmain1.dbo.LWnhdd.sblb from lwmain1.dbo.LWnhdd 
where  lwmain1.dbo.LWnhdd.nh<>lwmain2.dbo.LWnhdd.nh
回复
發糞塗牆 2014-04-28
试试:
INSERT  INTO [lwmain2].dbo.LWnhdd
        ( nh ,
          dd ,
          azwz ,
          x ,
          y ,
          dwz ,
          bm ,
          sblb
        )
        SELECT  nh ,
                dd ,
                azwz ,
                x ,
                y ,
                dwz ,
                bm ,
                sblb
        FROM    [lwmain1].dbo.LWnhdd
        WHERE   [lwmain1].dbo.LWnhdd.nh <> [lwmain2].dbo.LWnhdd.nh
回复
ythk 2014-04-28
两个表的表结构是一样的,就是想把一个表里面的数据导入到另外一个表,条件是一个表的nh<>另外一个表的nh, 报错为无法绑定由多个部分组成的标识符 "lwmain2.dbo.LWnhdd.nh",是因为什么呢?
回复
IEEE_China 2014-04-28
既然你的select 语句没有 from lwmain2, 那么你的where中的lwmain2 从哪里来的?
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2014-04-28 03:59
社区公告
暂无公告