表pm_obj:
id    name    type
1001  sms     s
1002  tnt     t表pm_socre:
id    desc    score
6550  aaa     2500
6551  ccc     3000表pm_sub_element:
subid    ele_type    ele_id
1          5          1001
1          6          6550
ele_type=5时,ele_id存入的是pm_obj.id值;
ele_type=6时,ele_id存入的是pm_socre.id值;
我想用一条语句查询出:subid=1时,pm_obj.name,pm_obj.type,pm_socre.score这个语句怎么写啊?

解决方案 »

  1.   

    你要的这个 不成成为一个结果吧?
    你把你要的结果  敲出来一下~ subid=1时  也就是有1001 和 6550 两个元素,但是两个元素 有的有pm_socre.score  有的没有  
    你的结果要怎么显示?
      

  2.   


    create table pm_obj(id varchar(10), name varchar(10), type varchar(10))create table pm_score(id varchar(10), xdesc varchar(10), score varchar(10))create table pm_sub_element(subid varchar(10),
                                ele_type varchar(10),
                                ele_id varchar(10))insert into pm_obj values ('1001', 'sms', 's');
    insert into pm_obj values ('1002', 'tnt', 't');insert into pm_score values ('6550', 'aaa', '2500');
    insert into pm_score values ('6551', 'ccc', '3000');insert into pm_sub_element values ('1', '5', '1001');
    insert into pm_sub_element values ('1', '6', '6550');select a.name, a.type
      from pm_obj a, pm_sub_element c
     where c.subid = '1'
       and c.ele_type = '5'
       and c.ele_id = a.id
    union
    select b.xdesc, b.score
      from pm_score b, pm_sub_element c
     where c.subid = '1'
       and c.ele_type = '6'
       and c.ele_id = b.id抛砖引玉...