想用update更新表中的FManageDeptID字段数据数据(update [gov_Approve] set FManageDeptID)
而要的值在下面的查询结果中
select g.FApplyID ,a.FBaseInfoID,b.FCity from gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
现在不知道这么样把查询结果映射成一张表让后赋值啊 update [gov_Approve] set FCity=

select g.FApplyID ,a.FBaseInfoID,b.FCity from gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
).FCity
where gov_Approve.id = 

select g.FApplyID ,a.FBaseInfoID,b.FCity from gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
).id
这样也不行啊
这是一个错误的例子。。

解决方案 »

  1.   

    而要的值在下面的查询结果中
    select g.FApplyID ,a.FBaseInfoID,b.FCity from gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
    where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
    现在不知道这么样把查询结果映射成一张表让后赋值啊 说清楚下面查询中的哪个字段??
    并且update的时候后面还有什么条件,不可能把[gov_Approve]表里的FManageDeptID字段都改掉吧
      

  2.   

    我想那查询结果中的FCity 给[gov_Approve]表里的FManageDeptID或FCity 赋值,就是下面的表达式:可是在SQL里不能这样写 。条件是,gov_Approve表的 ID=查询结果中的ID
    ---------------------------------------------------------------------
    gov_Approve.FCity =

    select g.FApplyID ,a.FBaseInfoID,b.FCity from gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
    where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
    ).FCity
    -----------------------------------------------------------------------
      

  3.   

    建议:
    1、先用
    select g.FApplyID ,a.FBaseInfoID,b.FCity into TableBackUp from gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
    where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
    把上面3个字段插入到一个新表中
    2、然后再用
    update [gov_Approve] set FCity=
    TableBackUp.FCity
    where gov_Approve.id = 
    TableBackUp .id
    来更新
      

  4.   

    update [gov_Approve] set FCity=
    TableBackUp.FCity
    where Exists(
    select g.FApplyID ,a.FBaseInfoID,b.FCity from gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
    where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
    ) as TableBackUp and gov_Approve.id = 
    TableBackUp.id试一试看
      

  5.   

    update [gov_Approve] set FCity=
    TableBackUp.FCity
    where Exists(
    select g.FApplyID ,a.FBaseInfoID,b.FCity from gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
    where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
    ) as TableBackUp and gov_Approve.id = 
    TableBackUp.id
      

  6.   

    可以簡寫為
    Update g
    Set FCity=b.FCity
    From gov_Approve g,PrjMgMgmt_Apply a,PrjMgMgmt_BaseInfo b
    where g.FApplyID=a.FBaseInfoID and a.FBaseInfoID=b.fid
      

  7.   

    你是什么数据库?SQL?ACCESS?