如何查询三个表中是否存在“用户名”(三个表的“用户名”字段都不一样)。就是会员注册的时候判断一下用户名是否在三个表中存在下面的语法都是返回 0SELECT @TempID = count(1)  FROM ny_daili  a, ny_huiyuan  b, ny_zongguanli  c  WHERE a.dl_dengluming=@dl_dengluming or b.hy_huiyuanming=@dl_dengluming or c.gl_guanliming=@dl_dengluming
 
IF @TempID = 0

解决方案 »

  1.   

    等于0是因为你的三个表都没记录,这样的结果好象是对的,但是如果三个表有一个或者多个有记录,那就错了,应该set @TempID=(SELECT count(1)  
    FROM ny_daili 
    WHERE dl_dengluming=@dl_dengluming 
    )+(select count(1)
    from ny_huiyuan 
    where hy_huiyuanming=@dl_dengluming 
    )+(select count(1)
    from ny_zongguanli
    where gl_guanliming=@dl_dengluming
    )IF @TempID = 0
      

  2.   

    如何查询三个表中是否存在“用户名”(三个表的“用户名”字段都不一样)。 就是会员注册的时候判断一下用户名是否在三个表中存在 下面的语法都是返回 0 select sum(cnt) from
    (
      select cnt = count(*) from tb1 where 用户名 = '某值'
      union all
      select cnt = count(*) from tb2 where 用户名 = '某值'
      union all
      select cnt = count(*) from tb3 where 用户名 = '某值'
    ) t
      

  3.   

    select @TempID=count(1) 
    from 
    (select  dl_dengluming as dl_dengluming from ny_daili
    union 
    select hy_huiyuanmin from ny_huiyuan
    union 
    select gl_guanliming from ny_zongguanli) t where dl_dengluming=@dl_dengluming