select distinct sName as Name from s,p
where s.sid=p.pid
union
select distinct tName as Name from t,p
where t.tid=p.pid

解决方案 »

  1.   

    select s.Sname as name from p left join s on p.pid=s.sid where s.sid is not null
    union all
    select s.Sname as name from p left join t on p.pid=t.tid where s.tid is not null
      

  2.   

    select p.pid,s.Sname as name from p join s on p.pid=s.sid
    union
    select p.pid,t.tname as name from p join t on p.pid=t.tid
      

  3.   

    (select sname name from p,s where pid=sid) union
    (select tname name from p,t where pid=tid)
      

  4.   

    select sname as name from s,p where s.sid=p.pid
    union all
    select tname as name from t,p where t.tid=p.pid
      

  5.   

    select distinct * from 
    (
    select a.Pid,b.Tname from Ptable a,Ttable b where a.Pid=b.Tid
    union 
    select a.Pid,b.Sname from Ptable a,Stable b where a.Pid=b.Sid) a order by a.Pid
      

  6.   

    select distinct * from 
    (
    select a.Pid,b.Tname from Ptable a,Ttable b where a.Pid=b.Tid
    union 
    select a.Pid,b.Sname from Ptable a,Stable b where a.Pid=b.Sid) a order by a.Pid
      

  7.   

    select p.pid,s.Sname as name from p join s on p.pid=s.sid
    union
    select p.pid,t.tname as name from p join t on p.pid=t.tid
      

  8.   

    SELECT P.IID,COALESCE(S.Sname,T.Tname,'') as Name From P LEFT JOIN S ON P.PID=S.SID LEFT JOIN T ON P.PID=TID
      

  9.   

    SELECT P.IID,COALESCE(S.Sname,T.Tname,'') as Name From P LEFT JOIN S ON P.PID=S.SID LEFT JOIN T ON P.PID=TID
      

  10.   

    SELECT P.PID,COALESCE(S.Sname,T.Tname,'') AS Name 
    FROM P LEFT JOIN S ON P.PID=S.SID 
           LEFT JOIN T ON P.PID=TID
      

  11.   

    俺是学生,俺不会,俺能不能问点问题阿:是关于SQL与VB的问题,我开始用的SQL SERVER7.0做的数据库,,用VB6做的应用程序,不是很难的那种拉,现在有两个问题,第一,把7。0,中的数据库导入另一台机器的sql2000里,并且让应程序还能调用它(我已经弄好了,把Data文件夹拖过来,设置好ODBC,以及程序中的登录设置,但是,不知道这样会不会有我现在还不知道的麻烦出现,请各位大侠指点)………………第二个问题,我不知道如何解决:把数据库倒过来后(笔记本),另一台机器也升级为sql2000了,而且,应用程序都是一样的,两台机器拥有相同的数据库和应用程序,可以联机工作,也可以单独工作,问题就是,两台机器的数据必须一致,比如笔记本出去工作,数据更新了,同时,台式机在家工作,数据也更新了,笔记本回来后,两边要互相更新,但又不能用简单的SQL2000里的方法,因为操作员是指懂得操作的,我们所提供的就是一个或几个按钮,这时,我就不会了~~~请大侠们支援~解决方法email:[email protected]
     我的问题:
               1、发出了读卡的命令inbuf = Chr$(&H1B) & Chr$(&H5D);MSComm1.Output = inbuf & vbCr,机器也有反应,但是刷卡后返回的数据应该如何接受并显示在text里哪(说明书上说:成功:<1B 73 磁道数据 3F 1C>失败:<1B 72 71>这些是16进制命令)?QQ121683833告诉我你是csdn的朋友哦~
    去这里回答~:给分
    http://www.csdn.net/expert/topic/795/795529.xml?temp=.664303
    http://www.csdn.net/expert/topic/795/795518.xml?temp=.7766077
      

  12.   

    select Pid, b.Name from P left join 
    (select sName as Name, sid as Id from s
      union
       select tName, tid from t) as b
    on P.Pid = b.Id
      

  13.   

    SELECT PID,ISNULL(S.SNAME,T.TNAME) AS [NAME]
    FROM P LEFT OUTER JOIN S ON P.PID=S.SID
           LEFT OUTER JOIN T ON P.PIC=T.TID
      

  14.   


      select distinct Name = sName  from s,p
         where s.sid = p.pid
      union
      select distinct Name = tName  from t,p
         where t.tid = p.pid
     通过以上方法实现的前提是:t.tid = s.sid = p.pid 不成立
      

  15.   

    select distinct name 
    from
    (select s.sid as id, sName as name  from s,p
         where s.sid = p.pid
      union
    select t.tid as id, tName as name  from t,p
         where t.tid = p.pid)
      

  16.   

    select name=(case when exists(select Sname from s where SID=p.PID)
    then (select Sname from s where SID=p.PID) else 
    case when exists(select Tname from t where TID=p.PID)
    then (select Tname from t where TID=p.PID) end end) from p