gpt4 book ai didi

MySQL 列间搜索

转载 作者:行者123 更新时间:2023-11-29 13:22:00 24 4
gpt4 key购买 nike

我有下面描述的表格。

--------------------------------------------------
| id | date_from | date_to | start_from stop_to
--------------------------------------------------
1 2013-10-12 2013-11-12 1 3
2 2013-09-08 2013-09-20 2 1
3 2013-06-04 2013-06-12 1 1
4 2013-05-02 2013-05-15 2 3
5 2013-04-11 2013-09-13 2 1

问题是我无法弄清楚如何以我想要的格式选择日期以及 start_from 和 stop_from 之间的数据。

假设我想在 2013-01-01 和 2013-12-31 之间搜索,其中 start_from 或 stop_to 为 1

选择的结果应该是

2013-10-12 1
2013-09-20 1
2013-06-04 1
2013-06-12 1
2013-09-13 1

如果 start_from 或 stop_to 是 2,结果应该是

2013-09-08 2
2013-05-02 2
2013-04-11 2

如果 start_from 或 stop_to 是 3,结果应该是

2013-11-12 3
2013-05-15 3

希望你能明白逻辑

最佳答案

你可以这样做:

SELECT the_date,start_stop FROM (
SELECT
id
, date_from as the_date
, start_from as start_stop
FROM my_table WHERE start_from=1
UNION ALL
SELECT
id
, date_to as the_date
, stop_to as start_stop
FROM my_table WHERE stop_to=1
ORDER BY id
) tmp

第一个查询查找与 start_from 条件匹配的行,并提取该匹配的 date_from ;第二个查询查找与 date_to 条件匹配的行,并将 date_to 提取到结果中。 UNION ALL 运算符连接两个查询的结果。

这是一个demo on sqlfiddle .

关于MySQL 列间搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20687423/

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