当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·有关 389 端口的问题,请进    »显示摘要«
    摘要: r6 服务器装好后,可以运行,但是提示说 389 已经被使用,监听失败,其它服务正常。请问389端口是做什么用的?能否使用其它端口而不使用389呢?系统是win2000 family server。 小弟刚接触lotus,请各位大虾不吝赐教,谢谢! ......
 ·有关内存显示的问题    »显示摘要«
    摘要: 我的内存是128m,怎么在系统属性看到的是 129,016 kb ram 如果是128 * 1024 = 131072,也不对啊。 我同事的机器里看到的是126m。为什么啊? ......


,两表联合查询问题

表A有字段:  
  ID   ZD1   ZD2......  
  表B有字段:  
  FromID   ZD1   ZD2     user....  
   
  表A是查询主表,表B有对应表A的一行有多条记录,表A和表B通过ID和fromid关联  
   
  在表B中有一个user字段,为用户登记帐号  
   
  假如user为myname  
  如何通过查询得到表A中与表B中所有user为myname的数据集信息,并且表A中的记录不能重复.  
   
  请大家帮忙,谢谢!!

NO.1   作者: dddd8888

select   discint(*)   from   A,   B  
  where   A.id   =   B.From   id   and   user   =   myname

NO.2   作者: dddd8888

select   distinct(*)   from   A,   B  
  where   A.id   =   B.Fromid   and   B.user   =   myname

NO.3   作者: txlicenhe

--1.创建一个合并的函数  
  create   function   fmerg(@id   int)  
  returns   varchar(8000)  
  as  
  begin  
  declare   @str   varchar(8000)  
  set   @str=  
  select   @str=@str+,+user   from   表B   where   FromID=@id  
  set   @str=right(@str,len(@str)-1)  
  return(@str)  
  go  
   
  --调用自定义函数得到结果  
  select   distinct   a.*,b.ZD1,b.ZD2,dbo.fmerg(FromID)   from   表A   a   join   表B   b   on   ID   =   FromID

NO.4   作者: dddd8888

select   distinct(A.id),   ZD1,   ZD2   from   A,   B  
  where   A.id   =   B.Fromid   and   B.user   =   myname

NO.5   作者: CrazyFor

select   *   from   A   left   join   B   on   a.id=b.fromId   where   b.user=Myname  
   
  A表不重复是的条件是什么,比较哪几个字段不复杂就成立?

NO.6   作者: sdhdy

select   distinct   *   from   a   left   join   b   on   a.id=b.fromId   where   b.user=Myname  
 

NO.7   作者: chao778899

select   *   from   A   left   join   B   on   a.id=b.fromId   where   b.user=Myname

NO.8   作者: dong_fc

应该是查最后记录的问题吧,假设最后记录的判定条件为ZD1最大  
  select  
  *  
  from  
  (  
  select    
  a.[id],max(a.zd1)  
  from    
  a  
  inner   join  
  b  
  on   b.fromid   =   a.[id]  
  group   by   b.[user]   =   myname  
  )   as   c  
  inner   join  
  a  
  on c.[id]   =   a.[id]   and   c.[zd1]   =   a.[zd1]  
 

NO.9   作者: dong_fc

顺便说一下,不要用distinct,那是垃圾!

NO.10   作者: qinkm

A表是主表,B表是子表,要想查出的记录A表不重复是不可能的,因为A表一条记录对应B表多条记录.因此,你要么是看A表内容(不过这种内容相信没有多大用处,题的本意不在此),要么是看A+B表内容(这时A表内容一定会有重复).  
  如只看A表内容:  
        select   A.ID,A.ZD1,A.ZD2,   ...   From   A  
  如要看A+B内容:  
        Select   A.ID,A.ZD1,A.ZD2,   ...   B.ZD1,B.ZD2,B.user   ...   From   A,B  
      Where   A.ID=B.FromID   and   B.User=myname  
   
  因此,你的要求跟现实有点出入...

NO.11   作者: HawaiiLeo

B表中一个user名和FromID是一一对应吗?  
  B表中的FromID和A表中的ID是一一对象吗??  
   
  select   *   from   A   where   ID   in  
            (select   FromID   from   B   where   user=myname   group   by   FromID)


 ·关于b/s架构的问题。    »显示摘要«
    摘要: 1.b/s架构中的数据库服务器(sqlserver或oracle)需要有固定ip吗? 2.我公司已经有一套c/s架构的进销售存(用delphi开发的,sqlserver数据库),要改成b/s架构需要重新开发吗? 3.因为南京分公司也要用这套c/s架构的进销存,南京广州共用数据库,什么办法实现且最经济? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE