如何选择多选?

时间:2014-06-23 17:19:30

标签: oracle select

我在这种情况下输了。

我想用两个select in做一个SELECT。这可能吗? 我已经尝试过UNION了。你有什么主意吗 ? :(

这是我的任务:(SQL - ORACLE)

SELECT 
    PCTX_LA0,
    PCTX_LA1,
    PCTX_LA3,
    PCTX_LA2_LA4,
    PCTX_LA5,
    CTX_ACTION1,
    CTX_ACTION2,
    CTX_DATE
FROM (
    --Précontentieux
    SELECT     
        CASE KLIGCONT.COENTAC WHEN 'LA0' THEN KLIGCONT.CODSIT ELSE NULL END AS PCTX_LA0,
        CASE KLIGCONT.COENTAC WHEN 'LA1' THEN KLIGCONT.CODSIT ELSE NULL END AS PCTX_LA1,
        CASE KLIGCONT.COENTAC WHEN 'LA3' THEN KLIGCONT.CODSIT ELSE NULL END AS PCTX_LA3,
        CASE KLIGCONT.COENTAC WHEN 'LA2' THEN KLIGCONT.CODSIT WHEN 'LA4' THEN KLIGCONT.CODSIT ELSE NULL END AS PCTX_LA2_LA4,
        CASE KLIGCONT.COENTAC WHEN 'LA5' THEN KLIGCONT.CODSIT ELSE NULL END AS PCTX_LA5
    FROM LOGI.KLIGCONT KLIGCONT
    WHERE KLIGCONT.COPROC='BOBS'
    AND KLIGCONT.COVALID='O'   


    --Contentieux
    SELECT    
        KLIGCONT.COENTAC AS CTX_ACTION1,
        KCOENTAC.COLIBEVE AS CTX_ACTION2,
        KLIGCONT.CODSIT AS CTX_DATE
    FROM 
        LOGI.KLIGCONT KLIGCONT,
        LOGI.KCOENTAC KCOENTAC 
    WHERE KLIGCONT.SCSO = KCOENTAC.SCSO 
    AND KLIGCONT.COENTAC = KCOENTAC.COENTAC
    AND KLIGCONT.COPROC='COMM'
    AND KLIGCONT.COVALID='O'
   )

请参阅建议..

2 个答案:

答案 0 :(得分:0)

假设每个查询仅检索一行:

select 
    a.col1,
    a.col2,
    a.col3,
    b.col1,
    b.col2,
    b.col3
from (
       select col1, col2, col3 from a_table
     ) a,
     (
       select col1, col2, col3 from b_table
     ) b

否则,您需要在外部查询的WHERE子句中的某处加入a到b。

答案 1 :(得分:0)

select 
    col1,
    col2,
    col3,
    col4,
    col5,
    col6
from (
       select col1, col2, col3 from a_table
     ) ,
     (
       select col4, col5, col6 from b_table
     ) 

这个代码测试,好的