SQL Oracle - 寻找查询来检查记录是否存在(Y/N)

问题描述 投票:0回答:1

我有两个表(项目和选项) 我需要一个查询来提取所有项目并针对该项目的选项进行验证(是/否):

这是表格 物品 -桌子 -椅子 -盒子 -冰箱 -窗户

选项

  • 桌子/绿色
  • 桌子/蓝色
  • 椅子/黑色
  • 椅子/红色
  • 盒子/黄色
  • 冰箱/白色
  • 冰箱/紫色
  • 窗户/灰色
  • 窗户/红色

这是预期的查询结果

查询结果

  • 表/N
  • 椅子 / Y
  • 盒子/N
  • 冰箱 / N
  • 窗口/Y
sql conditional-statements oracle-sqldeveloper
1个回答
0
投票

您可以尝试这样的方法来检查该值是否为红色:

SELECT item.Item_ID AS ItemName,
    CASE 
        WHEN EXISTS (SELECT 1 FROM Options optns WHERE optns.Item_ID = item.Item_ID AND optns.Color = 'Red') THEN 'Y'
        ELSE 'N'
    END AS IsRedOrNot FROM Items item;
© www.soinside.com 2019 - 2024. All rights reserved.