当前位置:数据库 > SQLServer >>

mssql查询两张表所有数据

我现在有两张表是用来存放用户数据的,表名和表结构如下: 表一名: stable 表一结构: SID SName SAge SSex SCID SType SDate 表二名: Utable 表二结构: UID UName UAge USex UCID UType UDate 其实这两张表本是一张的,只不过我把学生类型的用户全部存到表一, 教师类型的用户全部存到表二,这样找学生时只去读表一,找教师时只去 读表二,好缩短读取的时间,现在我的麻烦是: 我想同时查询两张表中性别为男(SSex,USex是用来标示性别的字段)的 用户,并且查到后: 1、以注册时间(SDate,UDate)的先后把每位用户的所有信息都显示出 来(就是上面那7个字段的信息) 2、显示出来的结果中不能是先显示完表一的所有用户再去显示表二的 所有用户(那样的话我直接去打开表一读取一次,然后列出来;再去 打开表二读完列出来就能解决),应该是根据两张表中的注册时间的 早晚列出来 总的来说就像根据注册时间的先后查询一张表中的所有数据似的, 不知这样描述是否足够详细...
补充:已解决:
    语句应该这样写:sql="select SName Name,SID ID,SDate Date from stable union all select UName Name,UID ID,UDate Date from Utable order by Date"
    呵呵~~~ 我是从badkano朋友的语句中得到灵感的,为感谢你,分就送给你吧~~谢谢~~
答案:select SID,SName,SAge,SSex,SCID,SType,SDate  from (select SID,SName,SAge,SSex,SCID,SType,SDate from stable union all
select UID SID,UName SName,UAge SAge,USex SSex,UCID SCID,UType SType,UDate SDate from Utable)
order by SDate
其他:我只能告诉你没法做,因为要涉及多表查询或嵌套查询。而你的两张表没有相同字段,也就是说无法建立联系。你至少要有一个外键可以联系两张表才能实现

上一个:mssql查询
下一个:谁有免费的mssql数据库啊,

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,