gpt4 book ai didi

mysql - 如果 EXISTS (MYSQL) 只得到这个结果

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

我有一个简短的问题,我现在陷入困境。我有以下疑问:

SELECT A, B
FROM my_table AS r
LEFT JOIN my_table_2 AS p ON r.rs_id = p.rs_id
WHERE r.rs_id = $DB->quote($_SESSION['mysession']['id']) EXISTS (SELECT A, B, date FROM my_table WHERE date = CURDATE())';

我想做的是从数据库中获取结果。然而,如果有一行具有与当前日期匹配的记录,我只想获取这些行,因此不再是所有 A + B。如果没有包含当前日期的行,我想默认加载所有 A + B。

有人知道答案吗?谢谢!

最佳答案

要以干净的方式执行此操作,您将在应用程序级别进行检查,搜索日期等于当前日期的记录的查询是否返回任何记录。如果没有,则执行第二个查询。

您可以在 MySQL 中执行相同的操作,但由于这在某种程度上有点“脏”(所使用的技术并不意味着以这种方式使用),因此我建议在应用程序级别解决此问题。如果您好奇,方法如下:

SELECT SQL_CALC_FOUND_ROWS whatever
FROM table
WHERE date_column = CURDATE()
UNION ALL
SELECT whatever
FROM table
WHERE FOUND_ROWS() = 0;
  • 了解更多信息 here

关于mysql - 如果 EXISTS (MYSQL) 只得到这个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643672/

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