Oracle select,如何从PHP中的“where exists”子查询中访问值?

时间:2015-08-26 08:52:51

标签: php oracle subquery

我在Oracle中有一个具有子查询的select。我需要在PHP代码中访问子查询中的值。

例如,我可以访问F.FILE_NAME和F.ID,但我也需要访问MI.ID和MCI.ITEM_ID。怎么做?

    $select ="SELECT F.FILE_NAME, F.ID
                     FROM b_file F  where exists
                    (SELECT '1'from  b_medialib_collection_item MCI, b_medialib_item MI
                            WHERE MI.ID=MCI.ITEM_ID
                            AND F.ID=MI.SOURCE_ID
                    )";

我已更新了我的查询,但现在的问题是F.FILENAME在表格中有重复项。如果存在具有相同F.FILENAME的行,我只需要返回一次行。

   $select2 = "SELECT
           F.FILE_NAME,MCI.COLLECTION_ID, MI.DATE_UPDATE,F.ID
           FROM b_medialib_collection_item MCI
            INNER JOIN b_medialib_item MI ON (MI.ID=MCI.ITEM_ID)
            INNER JOIN b_file F ON (F.ID=MI.SOURCE_ID)
           ORDER BY MI.DATE_UPDATE DESC";

实施例

ID  FILE_NAME
1   module.xls
2   doc.doc
3   foto.img
4   doc.doc

这是b_file表的基本结构,我想要做的是,如果有很多重复项,则只返回b_file表中的一条记录 - 具有相同FILE_NAME的行。在这种情况下,输出将是

1 module.xls
2 doc.doc
3 foto.img

0 个答案:

没有答案