gpt4 book ai didi

php - MySQL SELECT 与 IF 语句从另一个表设置变量

转载 作者:行者123 更新时间:2023-11-29 11:32:04 25 4
gpt4 key购买 nike

我想根据某些选择条件为 true 显示 Table1 中的所有结果,并根据 Table2 的某些满足条件将 Table1 中的每个结果设置为 0 或 1。

SELECT * FROM Table1 WHERE Some_Condition=true

Foreach Table1.Name
SELECT IF(TID IS NULL, 0, 1) AS Variable FROM Table2
WHERE
Table2.Name=Table1.Name AND Table2.Val='p'

如何将这一切整合到一个 SQL 调用中?

我想看到的示例调用是:

表1:

+----+-------------------+
| ID | Name |
+----+-------------------+
| 1 | John |
+----+-------------------+
| 2 | Alan |
+----+-------------------+

表2:所以这里Alan存在并且Val='p',而不仅仅是现有

+-------+-----------+-----+
| TID | Name | Val |
+-------+-----------+-----+
| 1 | Alan | p |
+-------+-----------+-----+

我想要来自 SINGLE SELECT 语句的 SQL 结果:

+------+----------+
| Name | Variable |
+------+----------+
| John | 0 |
+------+----------+
| Alan | 1 |
+------+----------+

最佳答案

LEFT JOINCASE 语句可能适合您。请参阅下面的查询。

SELECT A.Name AS item, (CASE WHEN B.Val='p' THEN 1 ELSE 0 END) AS Variable 
FROM Table1 A LEFT JOIN Table2 B ON (A.Name=B.Name)

关于php - MySQL SELECT 与 IF 语句从另一个表设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37239481/

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