gpt4 book ai didi

mysql - 如何避免查询中的条件多重 SELECT

转载 作者:行者123 更新时间:2023-11-29 23:39:07 24 4
gpt4 key购买 nike

我有这个简单的 SQL

SELECT 
(CASE
WHEN
(SELECT
Name
FROM
Customers
WHERE
Customers_id = Customer) IS NOT NULL
THEN
(SELECT
Name
FROM
Customers
WHERE
Customers_id = Customer)
ELSE Customer
END) AS Customer,
DateStart,
ProgramsRun.Programs_id,
RunInSeconds,
SwSQL,
SwProgram,
Name AS ProgramName
FROM
ProgramsRun
LEFT JOIN
Programs ON ProgramsRun.Programs_id = Programs.Programs_id;

我的问题是如何避免创建两个相同的 SELECT 语句:一个作为条件,另一个作为值选择。我知道我可以创建临时变量,但这迫使我使用存储过程或临时表。有没有简单的方法可以避免这种情况?

最佳答案

您可以像这样使用IFNULL:

IFNULL((SELECT 
Name
FROM
Customers
WHERE
Customers_id = Customer),Customer)

或者像这样COALESCE:

COALESCE((SELECT 
Name
FROM
Customers
WHERE
Customers_id = Customer),Customer)

引用:

关于mysql - 如何避免查询中的条件多重 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26271843/

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