显示内部查询中的一列

Displaying one column from inner query

请帮我解决这个问题:

SELECT a.prs_code,
       a.cc,
       b.description
FROM   idp_inpadoc_prs_cc a,
       idp_inpadoc_cat_desc b
WHERE  a.ID = b.ID
       AND a.prs_code IN (SELECT prs_code
                          FROM   tls221_inpadoc_prs c,
                                 tls201_appln d
                          WHERE  c.appln_id = d.appln_id
                                 AND c.appln_id IN ( '1', '2' )); 

在这个查询中,连同prs_codeccdescription,我也想显示相应的appln_id。我怎样才能做到这一点?请帮忙。谢谢! :)

所以当您开始考虑将其转换为连接时,这应该与您的查询相同,因为 appln_idtls221_inadoc_prstsl201_appln table 上s 所以你实际上不需要后面的 table 如果 tls221_inadoc_prs.appln_idtls201_appln.appln_id 的外键意味着如果值在 tls221_inadoc_prs 那么它也必须在tls201_appln

SELECT a.prs_code,
       a.cc,
       b.description
      ,c.appln_id
FROM
    idp_inpadoc_prs_cc a
    INNER JOIN idp_inpadoc_cat_desc b
    ON a.ID = b.ID
    INNER JOIN tls221_inpadoc_prs c
    ON a.prs_code = c.prs_code
    AND d.appln_id IN (1,2)

如果它不是外键,您也可以简单地添加另一个连接:

SELECT a.prs_code,
       a.cc,
       b.description
      ,c.appln_id
FROM
    idp_inpadoc_prs_cc a
    INNER JOIN idp_inpadoc_cat_desc b
    ON a.ID = b.ID
    INNER JOIN tls221_inpadoc_prs c
    ON a.prs_code = c.prs_code
    AND c.appln_id IN ( '1', '2' )
    INNER JOIN tls201_appln d
    ON c.appln_id = d.appln_id