表A:
--------------------
ID Name Sexual
1 A 0
2 B 1
3 C 2
4 D 1
5 E 1表B:
--------------------
SexualID SexualName
1 男
2 女
求一段SQL,可以查询出下面的结果!ID Name Sexual
1 A 未知
2 B 男
3 C 女
4 D 男
5 E 男谢谢大家!!
--------------------
ID Name Sexual
1 A 0
2 B 1
3 C 2
4 D 1
5 E 1表B:
--------------------
SexualID SexualName
1 男
2 女
求一段SQL,可以查询出下面的结果!ID Name Sexual
1 A 未知
2 B 男
3 C 女
4 D 男
5 E 男谢谢大家!!
, Sexual=case Sexual when 1 then '男' when 2 then '女' else '未知' end
from A
create table a
(
ID int,
Name char(1),
Sexual int
)
insert into a
select
1,'A',0 union select
2,'B',1 union select
3,'C',2 union select
4,'D',1 union select
5,'E',1
create table b
(
SexualID int,
SexualName nvarchar(10)
)
insert into b
select
1,N'男' union select
2,N'女'
SELECT a.ID,a.Name,case when a.Sexual = b.SexualID then b.SexualName else N'未知' end as N'Sexual '
from a left join b on a.Sexual = b.SexualID
结果
ID Name Sexual
----------- ---- ----------
1 A 未知
2 B 男
3 C 女
4 D 男
5 E 男(5 row(s) affected)
from a inner join b on a.Sexual = b.SexualID
SELECT A.ID,A.NAME,B.SexualName AS SEXUAL
FROM A
LEFT JOIN B
ON A.SEXUAL=B.SexualID
/*
ID NAME SEXUAL
----------- ---- ------
1 A NULL
2 B 男
3 C 女
4 D 男
5 E 男(所影响的行数为 5 行)
*/
SELECT A.ID,A.NAME,
CASE WHEN ISNULL(B.SexualName,'')='' THEN '未知'
ELSE B.SexualName
END AS SEXUAL
FROM A
LEFT JOIN B
ON A.SEXUAL=B.SexualID
/*
ID NAME SEXUAL
----------- ---- ------
1 A 未知
2 B 男
3 C 女
4 D 男
5 E 男(所影响的行数为 5 行)
*/