我在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