请问我有两个表A和B,其中表A有A1和A2,表B有B1和B2。
我想实现:
当B2包含有A2时(不是B2=A2),A1获取B1的值。请问这样的语句应该怎么写?谢谢!

解决方案 »

  1.   

    例如:
    表A的字段为:零件编号,机型
    表B的字段为:通用编号,通用机型
    我想实现:
    当表B的通用编号里包含了表A的零件编号,那表A的机型就获取表B通用机型的值
      

  2.   

    假设楼主的意思是:
    create table tb1(零件编号 int,机型 nvarchar(10))
    insert into tb1 select 15,'惠普210打印机'
    create table tb2(通用编号 varchar(20),通用机型 nvarchar(10))
    insert into tb2 select '1,12,15,23','打印机'
    go
    select a.机型,b.通用机型
    from tb1 a inner join tb2 b
    on charindex(','+ltrim(a.零件编号)+',',','+b.通用编号+',')>0
    /*
    机型         通用机型
    ---------- ----------
    惠普210打印机   打印机(1 行受影响)*/
    go
    drop table tb1,tb2
      

  3.   


    楼主的描述很是模糊啊,没有数据显示,叫人怎么写。既要理解lz的意思,又要考虑sql语句怎么写,多麻烦啊。如果理解错了呢。
      

  4.   

    谢谢3楼!
    如果我想使用update语句直接更新呢?那where语句应该怎么写?谢谢!
    如:
    create table tb1(零件编号 int,机型 nvarchar(10))
    insert into tb1 select 15,'惠普210打印机'
    create table tb2(通用编号 varchar(20),通用机型 nvarchar(10))
    insert into tb2 select '1,12,15,23','打印机'
    我想实现:
    update tb1
    set tb1.机型=tb2.通用机型
    from tb2
    where tb2.通用编号 包含 tb1.零件编号 (这句怎么写?)