gpt4 book ai didi

php - 如何在 MySQL 中的 if (like) 条件下使用不同的表

转载 作者:可可西里 更新时间:2023-11-01 08:53:00 28 4
gpt4 key购买 nike

我有三个表第一张表(天)只保存值,即

uid,title
1, Mon
2, Tue
3, Wed
etc,etc

第二个表(查找)使用第一个表

uid,day_id,date,status,tech_id
1, 1,2012-01-01, 1,700
2, 2, 2012-01-02, 0,700
etc,etc

第三个表(模板)使用第一个表

uid,day_id,status,tech_id
1, 1, 1,700
2, 2, 0,700
3, 3, 0,700

实际上,每个表都显示了更多的信息,但这些数据目前无关紧要。

我试图做的是在单个 SQL 函数中执行所有步骤,而不是依赖代码。如果那天没有条目,我试图让 SQL 函数使用模板表而不是查找表

在伪代码中:

column 1 = * from days
column 2 = status from(if (template != null, use template)elseif(lookup != null, use lookup)else(null))
where tech_id=700

这在 MySQL 中完全可行吗?如果是这样,如何?我一直在尝试使用 INNER/LEFT(outer) 连接和子查询来做到这一点,但到目前为止无济于事:(

最佳答案

我想你想使用 COALESCE 函数:

SELECT d.*, COALESCE(SELECT status FROM lookup WHERE day_id = d.id, SELECT status FROM template WHERE day_id = d.id) as status
FROM day AS d
WHERE etc, etc

关于php - 如何在 MySQL 中的 if (like) 条件下使用不同的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755600/

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