2015-05-29 96 views
2

需要从那时到价值只返回,但我的查询返回的1S选择案例Statment单行子查询返回不止一行

SELECT 
CASE WHEN S.ITEM_ID<>0 THEN 1 
END AS "UomLevelEditable" 
FROM BIZZXE_V2_SCH.PO_REQUEST_ITEMS S WHERE S.ITEM_Id =209 AND S.UOM_ID= 55 
+1

这里是子查询? – Matt

+2

在表中选择独特的案例.... –

+0

也ITEM_ID + uom_id必须是唯一的,或者两个一 –

回答

2

如果你想正是一排,然后用聚合:

SELECT MAX(CASE WHEN S.ITEM_ID <> 0 THEN 1 END) AS "UomLevelEditable" 
FROM BIZZXE_V2_SCH.PO_REQUEST_ITEMS S 
WHERE S.ITEM_Id = 209 AND S.UOM_ID = 55; 

如果你想最多一排,然后用rownum = 1

SELECT (CASE WHEN S.ITEM_ID <> 0 THEN 1 END) AS "UomLevelEditable" 
FROM BIZZXE_V2_SCH.PO_REQUEST_ITEMS S 
WHERE S.ITEM_Id = 209 AND S.UOM_ID = 55 AND rownum = 1; 
2

我认为这可能对您有所帮助,我在下面用鲜明。

SELECT 
DISTINCT CASE WHEN S.ITEM_ID<>0 THEN 1 
END AS "UomLevelEditable" 
FROM BIZZXE_V2_SCH.PO_REQUEST_ITEMS S WHERE S.ITEM_Id =209 AND S.UOM_ID= 55 
+0

是谢谢它帮助我 – Beez

+0

@Beez请给予好评的答案,因此可以帮助其他人也是如此。 –