有3个表  a表,b表,c表.
其中a表为主表,b与c表都为中间表a表col1与col2是联合主键,
a表
col1值如下:
200153000511
200153000511
200153000511col2值如下:
0,1,2其中a表中的col3字段值分别为:519,99999,99993.b表字段为:type_id,newid
其中type_id值为:99999,99992,99996c表字段为:s_type_id,prod_id
其中s_type_id值为:519,104,103,
prod_id值为:1000107,1000102
目的主要是获得b表中的newid与c表中的prod_id,
通过a表中的col3字段的99999与519来获得.
但是,a表中的主键是联合主键,实现通过a表中的col3字段值 99999与519来把b表与c表的值带出来?麻烦高手给看看  谢谢!

解决方案 »

  1.   

    14:11:00 scott@TUNGKONG> select * from a;COL1                 CO COL3
    -------------------- -- ----------
    200153000511         0  519
    200153000511         1  99999
    200153000511         2  99993已用时间:  00: 00: 00.01
    14:11:04 scott@TUNGKONG> select * from b;TYPE_ID    NEWID
    ---------- ----------
    99999      newid
    99992      newid2
    99996      newid3已用时间:  00: 00: 00.01
    14:11:09 scott@TUNGKONG> select * from c;S_T PROD_ID
    --- ----------
    519 1000107
    104 1000102
    103 prod_id已用时间:  00: 00: 00.00
    14:11:14 scott@TUNGKONG> select a.*,col4 from a,(select type_id col,newid col4 from b union all select s_type_id,prod_id from c) b where a.col3=b.col(+);COL1                 CO COL3       COL4
    -------------------- -- ---------- ----------
    200153000511         1  99999      newid
    200153000511         0  519        1000107
    200153000511         2  99993已用时间:  00: 00: 00.00描述不是很清楚啊,
    不知道楼主是不是想要这个样子啊