Oracle SQL-仅在= X时返回值

时间:2018-07-17 10:18:58

标签: sql oracle

仅在Zone_1等于Prod时,我才尝试返回SKU_id。如果SKU_ID具有多个Zone_id,则我不希望返回这些记录。

链接的图像显示了该表,在这里我想返回SKU_ID'ANS',因为它仅存在于'Prod'中。航班也不会返回,因为它也位于“ STD” enter code here中。

这是我的代码:

SELECT SKU_ID, ZONE_1 FROM INVENTORY
WHERE zone_1 = 'PROD'

此代码的问题在于,即使它在STD中存在,它也会返回SKU,因为我不确定如何在仅存在于zone_1 ='prod'中的地方返回它。

example here

2 个答案:

答案 0 :(得分:1)

使用条件聚合:

SELECT SKU_ID
FROM Inventory
GROUP BY SKU_ID
HAVING SUM(CASE WHEN zone_1 <> 'PROD' THEN 1 ELSE 0 END) = 0;

答案 1 :(得分:0)

您可以使用function topScrollFunction() { if (document.documentMode || /Edge/.test(navigator.userAgent)){ $('body').css('height', 'auto'); window.scrollTo(0,0); }else { window.scrollTo(0,0); } }

not exists