当前位置:编程问答 > SQLServer >

请教一个MSSQL查询语句的问题

问题:在3个表中查询,如何有几条相同的记录,如何查询后只返回一条记录呢? from 住院病人描述表 inner join 住院信息表 on 住院病人描述表.fname=住院信息表.fname inner join 住院登记表 on 住院信息表.fkeyid=住院登记表.fregistid 这上面的fkey和fregistid 应该为如果有多条相同的数据,但只要求显示一条数据
补充:麻烦吧 最后 修改的语句 发上 

注意不只是一条数据  是N多条  其中还包括其他的数据
答案:from 住院病人描述表  inner join 住院信息表  on 住院病人描述表.fname=住院信息表.fname inner join (Select fregistid From 住院登记表 Group By fregistid) C on 住院信息表.fkeyid=C.fregistid
其他:where 条件加上 select top 1 FROM(表1 inner join 表2 on 表1.字段号=表2.字段号)inner join 表3 on 表1.字段号=表3.字段号 
下边是查询不重复name段的值和time值
也就是如果有多个重复的name 只取一个。
select distinct(name),min(time) as time   from table  group by name 
自己组合一下吧 试试吧 我也不怎么会,只好提供一下想法啦 select max(住院登记表), 描述, 信息,登记
  from 住院病人描述表
 inner join 住院信息表 on 住院病人描述表.fname = 住院信息表.fname
 inner join 住院登记表 on 住院信息表.fkeyid = 住院登记表.fregistid
group by 描述, 信息,登记
登记就有登记日期吧   
按照这个sql ,字段自己改一下就好了  吧 max(住院登记表), 后面的字段  都写到group by   就可以用了 

上一个:MSSQL 2005 由于目标机器积极拒绝,无法连接
下一个:(60分)SQL查询语句 access的能用,那MsSql应该怎么写?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,