gpt4 book ai didi

php - 如何构建一个将返回标志的 MySQL 查询,根据另一个表中的行返回 y 或 n?

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:49 26 4
gpt4 key购买 nike

这是我的表格:

foo1
------
| id |
------
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
------

和:

foo2
------------------
| id | id2 | foo |
------------------
| 1 | 1 | 2 |
| 2 | 1 | 1 |
| 3 | 3 | 2 |
| 4 | 3 | 1 |
| 5 | 5 | 1 |
------------------

基本上,我想选择 foo1 中的所有行,其 id 对应于 foo2id2,并返回如果 foo2 中有一行与 id 具有相同的 id2,则包含 yflagfoo1 中,foo 等于 2,否则为 n。例如,这是查询应从我的两个示例表中返回的内容:

-------------
| id | flag |
-------------
| 1 | y |
| 3 | y |
| 5 | n |
-------------

注意 id = 1 返回的标志是 y,而不是 n,因为至少有一行 id2 等于1,并且 foo 等于 2

这样的查询可能吗?

最佳答案

SELECT  DISTINCT a.ID, 
IF(c.id2 IS NULL, 'n', 'y') flag
FROM foo1 a
INNER JOIN foo2 b
ON a.ID = b.id2
LEFT JOIN foo2 c
ON b.id2 = c.id2 AND
c.foo = 2

关于php - 如何构建一个将返回标志的 MySQL 查询,根据另一个表中的行返回 y 或 n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15038397/

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