有两个表,表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楼的方法。