有好几个表,比如:
表一:性别(性别代号 性别)两个字段
表二:学历(学历代号 学历)两个字段
表三:信息(姓名,性别代号,学历代号)而且这几个字段允许为空
我现在想得到这样的表
综合表(姓名,性别,学历)
应该怎么写SQL语句
表一:性别(性别代号 性别)两个字段
表二:学历(学历代号 学历)两个字段
表三:信息(姓名,性别代号,学历代号)而且这几个字段允许为空
我现在想得到这样的表
综合表(姓名,性别,学历)
应该怎么写SQL语句
解决方案 »
- 重写button时加了onclick,然后在页面中又加onclientClick后问题
- 谁有实现过126邮箱写信页面通讯录与信纸的切换功能?
- 正则表达式获取网页Title,高分在线等!!!
- 完全正常的ASP.NET网站,数据库是ACCESS,为什么把网站考到别的机器上发布的时候,会出现这种问题呢??谢谢大家帮忙看看
- 关于sql语句的问题
- 数据统计分组的问题
- VS.NET(6片)怎样安装?
- Temporary ASP.NET Files 文件的问题
- treenode如何知道自己有几层子节点?(不是几个是几层哦`~)
- 各位斑竹求救了(急救)
- 100 分,问个重复的问题.
- 最简单得问题,表得基本知识讨论! ----在线
from [信息] t1
left join [性别] t2 on t2.[性别代号]=t1.[性别代号]
left join [学历] t3 on t3.[学历代号]=t1.[学历代号]
from 性别 a,学历 b,信息 c
where c.学历代号=b.学历代号 and c.性别代号=a.性别代号sql_server2000写法
select * from studName SexID XueId
---------- ---------- ----------
张三 01 01
李花 02 03
--------------------------------------
---------------------------------------
select * from sexsexID sex
---------- ----------
01 男
02 女
----------------------------------------------
----------------------------------------------select * from xueXueId XueLi
---------- ----------
01 专科
02 本科
03 硕士
------------------------------------------------------
-----------------------------------------------------
-----------------------------------------------------
select stud.[Name],sex,XueLi From stud,SEX,xue where stud.sexID=sex.SEXID and stud.XueId=xue.XueId Name sex XueLi
---------- ---------- ----------
张三 男 专科
李花 女 硕士
from 性别 a,学历 b,信息 c
where c.学历代号=b.学历代号 and c.性别代号=a.性别代号
最简单的写法但是效率不高!
(select 学历 from 学历 xl where xl.学历代号=x.学历代号) as 学历 from 信息 x 可以采用以上这种子查询的方法,也可以采用左连接的的方法,不过要注意左连接是表的位置,最要不要才用内连接,如果有空值,将会丢失数据
不过性别没必要再分表了吧?最多三种,男女未知,最多再来个阴阳人:D
呵呵,在程序里写case就可以了
from t4[信息]
INNER JOIN t1,t2,t3
ON t4.[姓名代号] = t1.[姓名代号],t4.[性别代号] = t2.[性别代号],t4.[学历代号] = t3.[学历代号]只列出关联字段!
from [信息] t1
left join [性别] t2 on t2.[性别代号]=t1.[性别代号]
left join [学历] t3 on t3.[学历代号]=t1.[学历代号]如果用:
select c.姓名 as 姓名,a.性别 as 性别,b.学历 as 学历
from 性别 a,学历 b,信息 c
where c.学历代号=b.学历代号 and c.性别代号=a.性别代号那么在[信息]表中,学历代号和性别代号为空的记录会丢失。
from [信息] t1
left join [性别] t2 on t2.[性别代号]=t1.[性别代号]
left join [学历] t3 on t3.[学历代号]=t1.[学历代号]
--------------------------------------------------------
select t1.姓名,t2.性别,t3.学历
from [信息] t1
inner join [性别] t2 on t2.[性别代号]=t1.[性别代号]
inner join [学历] t3 on t3.[学历代号]=t1.[学历代号]
--------------------------------------------------------
CASE [性别代号]
WHEN '01' THEN '男'
WHEN '02' THEN '女'
WHEN '03' THEN '不男不女'
WHEN '04' THEN '半男半女'
ELSE '未知'
END AS 性别,t3.学历
from [信息] t1
left join [学历] t3 on t3.[学历代号]=t1.[学历代号]
where ( stud.XueId=xue.XueId or stud.XueId is null)