1 sql server 的update 怎样同时更新  多个表
2 有关,select 的问题
    我想select name = (select name from t where....) + (select name from t where ...) from t where ...
     这样会报错,不知道,怎么样才能调通呢

解决方案 »

  1.   

    1.?
    2. select name 
       from table1
       where...
       union 
       select name
       from table2
       where...
      

  2.   

    1.第一个好像没有好办法,用视图也不可以
    2.第二个是否可以这样写
    select name = (select name from t a where a.name=name) + (select name from t b where b.name=name) from t where ...没有做过这样的测试,可以试下
      

  3.   

    子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
      

  4.   

    update table1,table2 set table1.column=?,table2.column=? from table1,table2 where
      

  5.   

    update t ,tm
    set t.name = tm.name+t.name
    --------------------------------------------
    服务器: 消息 170,级别 15,状态 1,行 1
    第 1 行: ',' 附近有语法错误。
      

  6.   

    1.update似乎无法update多个表,应该以后SQL的机制会完善这个方面
    2 union all
      

  7.   

    DELETE FROM T 
    INSERT INTO T(CODE,NAME) SELECT  CODE,NAME FROM TM
    SELECT * FROM T               UPDATE T
    SET T.NAME = (SELECT P.NAME FROM T AS P WHERE P.CODE LIKE '__0000' AND 
    SUBSTRING(P.CODE,1,2)=SUBSTRING(C.CODE,1,2) AND 
    SUBSTRING(P.CODE,1,2)=SUBSTRING(T.CODE,1,2)  )+   --省名
    CASE SUBSTRING (T.NAME,5,2)
    WHEN '00' THEN T.NAME
    ELSE
    (SELECT C.NAME FROM T AS C WHERE C.CODE LIKE '____00' AND 
    SUBSTRING(C.CODE,3,2) <> '00' AND
    SUBSTRING(C.CODE,1,2) = SUBSTRING(P.CODE,1,2) AND 
    SUBSTRING(C.CODE,3,2) =SUBSTRING(T.CODE,3,2))
    END
    +      --市名
    T.NAMEFROM  T,T AS P,T AS C
    WHERE T.CODE NOT LIKE '__00__'
    现在想用这种方法,可是,报错,请问,怎么样可以在select做判断