gpt4 book ai didi

MySQL,验证2条记录是否有公共(public)字段

转载 作者:行者123 更新时间:2023-11-29 12:48:02 26 4
gpt4 key购买 nike

id     |     sample     |     field_a     |     field_b
-------------------------------------------------------
1 | a | 1 | NULL
2 | a | NULL | 1
3 | b | 1 | NULL

我想获取是否存在具有共同 sample 值的记录,但 field_a 必须为“1”,field_b 必须为“1”。

注意:field_a 和 field_b 不能在同一记录中定义(field_a 或 field_b 在每条记录中)。

根据我展示的示例,我应该返回 TRUE,因为我有 2 strip 有“a”值且 field_a = 1 和 field_b = 1 的记录。

我该怎么做?

最佳答案

您可以通过自连接来做到这一点:

SELECT 
e.id,
e.sample,
e.field_a,
e1.field_b
FROM
example e
INNER JOIN
example e1
ON
e.id < e1.id
WHERE
e.field_a = 1 AND e1.field_b = 1;

条件

e.id < e1.id

注意每个组合只会被评估一次,并且它们位于不同的行中。

<强> Demo

要仅获取 True (1) 或 False,请将此查询修改为

  SELECT 
(COUNT(e.id)>0) as result
FROM
example e
INNER JOIN
example e1
ON e.id < e1.id
WHERE e.field_a = 1 AND e1.field_b = 1
GROUP BY e.id;

<强> Demo

关于MySQL,验证2条记录是否有公共(public)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25169353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com