我有一個查詢,下面給出了以下結果。對於給定的pcid,可能有一個或多個圖像。我只想抓住第一個記錄,如果pcid有超過1個圖像返回。在這種情況下,我知道獨特性不起作用。任何想法將不勝感激。感謝Oracle從結果集中獲得第一個記錄
select p.pcid,p.pc_name,p.pc_image_name
from pc p LEFT JOIN pc_goods pcm on p.pcid = pcm.pcid AND pcm.media_type = 'I'
AND pcm.act_ind = 'Y' AND pcm.fea_ind = 'Y' INNER JOIN pc_cat pcat
ON p.category_id = pcat.cat_id
and p.fea_ind = 'Y' AND p.act_ind = 'Y'
order by pcid
Current results
pcid pc_name pc_image_name
--------------------------------
1120 testone one.jpg
1120 testwo two.jpg
1121 testthree three.png
1125 testfour four.png
1128 test5 five.jpg
1128 test6 six.jpg
預期的效果,
pcid pc_name pc_image_name
--------------------------------
1120 testone one.jpg
1121 testthree three.png
1125 testfour four.png
1128 test5 five.jpg
你如何表示「第一」是有日期時間還是隻需要任何記錄?如果是這樣,您可以在子查詢中始終使用圖像名稱上的min,然後回到上面。使用min_max將PC_goods表的內聯視圖返回給每個PCID的單個記錄,然後將其添加到結果集中。或者你可以生成一個行號字段,並返回每個PCiD只有1的地方。 [示例:](http://stackoverflow.com/questions/10477085/oracle-partition-by-and-row-number-keyword) – xQbert
是的,它是任何img記錄 – user747291
我不明白爲什麼你的查詢需要做'pc_goods'上的左連接? – sstan