有
表A (NO, 年度,所属CD)
表B (NO, 年度,所属CD, 中途退職日)
其中 NO 年度 所属CD都是两个表的主键,中途退職日不是主键现有数据
A:
NO 年度 所属CD
-------------------------
1 2008 11
1 2008 12
1 2008 16
1 2008 19B:
NO 年度 所属CD 中途退職日
-------------------------
1 2008 11 20080101
1 2008 12 20080101
1 2008 16
得出
写一语句得出
NO 年度 所属CD 中途退職日
-------------------------
1 2008 11 20080101
1 2008 12 20080101
1 2008 16
这样的数据.
我写有语句:SELECT DISTINCT
A.所属CD,
A.年度 ,
A.NO,
B.中途退職日
FROM A ,
B
WHERE TRIM(A.NO) = '1'
AND A.NO = B.NO
AND A.年度= B.年度
AND A.所属CD= B.所属CD可是出来的结果不对...请大家帮忙.谢谢
表A (NO, 年度,所属CD)
表B (NO, 年度,所属CD, 中途退職日)
其中 NO 年度 所属CD都是两个表的主键,中途退職日不是主键现有数据
A:
NO 年度 所属CD
-------------------------
1 2008 11
1 2008 12
1 2008 16
1 2008 19B:
NO 年度 所属CD 中途退職日
-------------------------
1 2008 11 20080101
1 2008 12 20080101
1 2008 16
得出
写一语句得出
NO 年度 所属CD 中途退職日
-------------------------
1 2008 11 20080101
1 2008 12 20080101
1 2008 16
这样的数据.
我写有语句:SELECT DISTINCT
A.所属CD,
A.年度 ,
A.NO,
B.中途退職日
FROM A ,
B
WHERE TRIM(A.NO) = '1'
AND A.NO = B.NO
AND A.年度= B.年度
AND A.所属CD= B.所属CD可是出来的结果不对...请大家帮忙.谢谢
LEFT JOIN A ON (B.NO, B.年度, B.所属CD) = (A.NO, A.年度, A.所属CD) AND TRIM(A.NO) = '1'
有
表A (NO, 年度,所属CD,DD,CC,FF,GG,HH,KK)
表B (NO, 年度,所属CD, 中途退職日,11,22,33,44,55,66)
其中 NO 年度 所属CD都是两个表的主键,中途退職日不是主键 现有数据
A:
NO 年度 所属CD DD CC FF GG HH KK
------------------------- -------------------------
1 2008 11 DD CC FF GG HH KK
1 2008 12
1 2008 16
1 2008 19 B:
NO 年度 所属CD 中途退職日 11 22 33 44 55 66
------------------------- -------------------------
1 2008 11 20080101 11 22 33 44 55 66
1 2008 12 20080101
1 2008 16
得出
写一语句得出
NO 年度 所属CD 中途退職日
-------------------------
1 2008 11 20080101
1 2008 12 20080101
1 2008 16
这样的数据.
我写有语句: SELECT DISTINCT
A.所属CD,
A.年度 ,
A.NO,
B.中途退職日
FROM A ,
B
WHERE TRIM(A.NO) = '1'
AND A.NO = B.NO
AND A.年度= B.年度
AND A.所属CD= B.所属CD 可是出来的结果不对...请大家帮忙.谢谢
有
表A (NO, 年度,所属CD,DD,CC,FF,GG,HH,KK)
表B (NO, 年度,所属CD, 中途退職日,11,22,33,44,55,66)
其中 NO 年度 所属CD都是两个表的主键,中途退職日不是主键 现有数据
A:
NO 年度 所属CD DD CC FF GG HH KK
------------------------- -------------------------
1 2008 11 dd CC FF GG HH KK
1 2008 12 d1
1 2008 16
1 2008 19 B:
NO 年度 所属CD 中途退職日 11 22 33 44 55 66
------------------------- -------------------------
1 2008 11 20080101 11 22 33 44 55 66
1 2008 12 20080101
1 2008 16
得出
写一语句得出
NO 年度 所属CD 中途退職日 DD
----------------------------
1 2008 11 20080101 dd
1 2008 12 20080101 d1
1 2008 16
这样的数据.
我写有语句: SELECT DISTINCT
A.所属CD,
A.年度 ,
A.NO,
A.DD,
B.中途退職日
FROM A ,
B
WHERE TRIM(A.NO) = '1'
AND A.NO = B.NO
AND A.年度= B.年度
AND A.所属CD= B.所属CD 可是出来的结果不对...请大家帮忙.谢谢
select B.NO,B.所属,B.年度,B.中途退职,A.DD
FROM B
INNER JOIN A ON A.NO=B.NO AND A.年度=B.年度 AND A.所属=B.所属
select B.NO,B.所属,B.年度,B.中途退职,A.DD
FROM B,A
where A.NO=B.NO AND A.年度=B.年度 AND A.所属=B.所属
年度 所属CD NO 任用開始日 任用終了日
2007 0000000029 1970029 20071101 20071130
2008 0000000029 1970029 20071201 20080331
2008 0000000029 1970029 20080401 20080531
2008 0000000029 1970029 20080601 20080702表B
年度 所属CD NO 中途退職日
2007 0000000029 1970029
2008 0000000029 1970029
2008 0000000029 1970029
2008 0000000029 1970029 20080607想得到所属CD 年度 任用開始日 任用終了日 中途退職日
0000000029 2008 20080601 20080702 20080607
0000000029 2008 20080401 20080531
0000000029 2008 20071201 20080331 楼上大哥帮帮忙..谢谢
select a.所属CD,a.年度,a.任用開始日,a.任用終了日,b.中途退職日
from a left join b on a.年度=b.年度
and a.所属CD=b.所属CD
and a.NO=b.NO