数据库题,做出来分全是您的
2. 数据库表的关联
两张数据库表数据如下:
T1
id type detailtype
10000 1 NULL
10001 4 NULL
10002 2 1
10003 2 2
10004 3 1
10005 3 2
T2
id name descr i_val parent_id
1 type1 类型1 NULL NULL
2 detailtype2 类型2 NULL NULL
3 detailtype3 类型3 NULL NULL
4 NULL 类型1.1 1 1
5 NULL 类型1.2 2 1
6 NULL 类型1.3 3 1
7 NULL 类型1.4 4 1
8 NULL 类型2.1 1 2
9 NULL 类型2.2 2 2
10 NULL 类型3.1 1 3
11 NULL 类型3.2 2 3
现在需要写一条SQL关联T1、T2表查询得到如下结果:
id type_descr detailtype_descr
10000 类型1.1 类型1.1
10001 类型1.4 类型1.4
10002 类型1.2 类型2.1
10003 类型1.2 类型2.2
10004 类型1.3 类型3.1
10005 类型1.3 类型3.2
提示:
1. T1.type、T1.detailtype取值为T2.i_val
2. T1.type关联T2.name=’type1’记录的子项
3. 当T1.type=2,T1.detailtype关联T2.name=’detailtype2’记录的子项
4. 当T1.type=3,T1.detailtype关联T2.name=’detailtype3’记录的子项
5. 当T1.detailtype为NULL时,结果中detailtype_descr取值与type_descr相同
要求:
1. 只能使用一条SQL
2. 在T2表中查询子项时条件不能使用具体id值(1,2,3),只能使用具体的name值(type1,detailtype2,detailtype3)