检查一个字段的值是否在另一个字段中

用户9653591

我有一个包含这些值的表:

id
parent_id
type

我想编写一个查询,如果满足这些条件,该查询将创建并存储在一个变量中:

  • 每个结果的 id 不应该是另一个结果的 parent_id(parent_id 0 不计算在内)
  • 结果只能是类型 1

例如 :

Id = 1, parent_id = 11, type = 1
Id = 2, parent_id = 1, type = 2
Id = 3, parent_id = 4, type = 2
Id = 4, parent_id = 7, type = 1
Id = 5, parent_id = 8, type = 2
Id = 6, parent_id = 9, type = 1
Id = 7, parent_id = 0, type = 3
Id = 8, parent_id = 0, type = 3
Id = 9, parent_id = 0, type = 3

因此,从这些数据中,只有 id 6 的变量包含 1,所有其他变量均为 0,因为它们不符合条件

换句话说,我想验证每个当前数据与任何其他数据的 parent_id 都不匹配。

换句话说,我不想有id=parent_id和有type= 1。

如何使用上述条件执行 if 条件?我特别希望它在 if 条件中,因为 if 将在更大查询的选择中。

就像是

if ( id is in parent_id ( of all the parent_idfields in the database ), 1, 0 ) AS 条件

我希望我的问题很清楚!如果您有任何问题,请随时提出。

水手安

您的变量可以是一个单独的选择:

select t1.id pId, t1.type pType, (
     select if(count(t2.id)=0 and pType=1, 1, 0 ) 
     from tbl_name t2 where t2.parent_id=pId) cond
from tbl_name t1;

只要确保id,parent_id被索引,否则你将面临严重的性能损失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

确定一个字段是否部分源自 R 中的另一个字段

如何检查多值字段是否包含Splunk中另一个字段的值

根据另一个字段的值在MongoDB中投影一个字段

Microsoft SQL Server:触发以检查由另一个字段分组的一个字段的总和是否不超过特定值?

如何查询MongoDB的一个字段值是否以字符串的形式出现在另一个字段值中?

是否可以在一个字段中接收 Faker 生成的另一个字段的值?

根据另一个字段更新一个字段

需要一个字段或另一个字段

一个字段基于另一个字段的求和

检查一个字段是否为空并从另一个列中获取值

使用联合的一个字段的地址访问另一个字段是否合法?

当另一个字段值更改时更新一个字段值

根据另一个字段的值禁用一个字段

将setFieldValue用于一个字段,基于另一个字段的值

是否允许TypeScript中的另一个字段初始化字段?

按字段排序,然后按C#中的另一个字段检查是否相等

基于Jackson中另一个字段值的条件字段要求?

在DRF的字段级别验证中获取另一个字段的值

日期字段的最大值到Postgresql中的另一个字段

如何读取名称在另一个字段中的行字段的值

在Elasticsearch中查询一个字段不等于另一个字段

在一个字段中输入数据并自动更新另一个字段

在Redux表单中基于另一个字段验证一个字段

如何使用 FilterUserMixin 过滤 Django 中的一个字段或另一个字段

Mongodb 比较使用一个字段与对象数组中的另一个字段

如何在反应中根据另一个字段更新一个字段?

检查一组字段值是否映射到数据帧中另一个字段的单个值

symfony验证另一个字段是否为特定值

PHP:比较2个不同的数组/对象。检查另一个字段中是否存在字段值