当前位置: 代码迷 >> Sql Server >> 初学者SQL语句
  详细解决方案

初学者SQL语句

热度:106   发布时间:2016-04-24 09:01:56.0
菜鸟求一个SQL语句
有两个表,表student和表weizhangjilu。
student中保存的是学生的信息,包括三列,分别是学号no,性别sex 和学生姓名name.
weizhangjilu中保存该学生的违章记录,也包括三列,分别是时间time,学号no,违章内容content

如下所示:
表student
no        sex           name
1           男             李凯
2           男             宋可
3           男             李军
...          .....

表weizhangjilu
time                   no        content
2015-6-5          2           迟到
2015-6-6          2           早退
2015-6-6          3           打架

我现在想把有违章记录学生姓名和性别挑出来(不能有重复值),我用下面这个SQL好像不行:
Select distinct  weizhangjilu.no, student.sex, student.name from weizhangjilu, student where weizhangjilu.no=student.no;

我想要得到的结果是
no     sex    name
2       男       宋可
3       男       李军

请问该怎么写这个sql语句呢?不甚感激!

------解决思路----------------------

create table Student
(
 [no] int,
 sex char(20),
 name varchar(20)
)

create table weizhangjilu
(
 [time] datetime,
 [no] int,
 content varchar(20)
)

select distinct
  S.[no],
  S.sex,
  S.name
from Student S inner join weizhangjilu W on s.[no]=W.[no]

------解决思路----------------------
楼主你的语句没问题。
只是2000及以下版本的写法,最好用连接也就是1楼的方法。
  相关解决方案