sql - 在创建 SQL 时需要帮助
问题描述
我有以下架构的表并包含记录-
id parent_id active
1 NULL Y
2 1 Y
3 1 N
4 NULL Y
5 4 N
6 NULL N
7 6 N
我需要为以下用例编写 SQL:
需要找到所有 active 不等于 Y 且 parent_id active 等于 Y 的记录。
上面的示例输出应如下所示:
输出应该是-
id parent_id active
3 1 N
5 4 N
解决方案
您可以使用自加入来执行此操作,如下所示:
SELECT *
FROM mytab t1 INNER JOIN mytab t2
ON t1.id = t2.parent_id
WHERE t1.active != 'Y'
AND t2.active = 'Y'
推荐阅读
- flutter - 带有我自己的控制器的 Scaffold 中的 TabBar 不起作用
- c# - 如何将 Get.Attribute(src) 值添加到列表中
还是我将值添加到其他列表方法 c#? - mobx - Mobx 计算得到关于改变 observable 而不是的警告
- javascript - 如何从选择中计算价值?
- jenkins - 如何编写 Jenkins 插件以在构建详细信息索引页面上显示一些信息?
- openxpki - 为什么我的openxpki 不接受我的root.crt?
- java - SpringDoc + JsonSubTypes:没有为中间类生成一个模式
- java - 算法(二和)时间复杂度比较
- pine-script - 寻找某个级别的未平仓订单
- c# - 在 C# 中构造一个带有文本的 3 色按钮