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

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"。
...全文
286 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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 从哪里来的?

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧