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数据库啊,