首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻止MySQL连接影响结果集

阻止MySQL连接影响结果集
EN

Stack Overflow用户
提问于 2014-10-15 11:01:42
回答 2查看 66关注 0票数 1

我对连接有一个问题,我认为这个连接很容易修复(我想我的脑子里放了个屁)。

下面是我当前的工作查询:

代码语言:javascript
复制
SELECT ADDTIME(journey.departure, notrelatedtoquestion) AS departure
FROM journey
GROUP BY journey.id
ORDER BY departure

这里是我想要工作但无法工作的查询:

代码语言:javascript
复制
SELECT ADDTIME(journey.departure, notrelatedtoquestion) AS departure
FROM journey
JOIN journey_non_operation ON journey_non_operation.journey = journey.code
WHERE NOW() NOT BETWEEN journey_non_operation.date_start AND journey_non_operation.date_end
GROUP BY journey.id
ORDER BY departure

好的,它正在工作,但问题是,由于新加入的journey_non_operation表的内容,它更改了结果集。

我想要达到的目标很简单。我只想过滤掉journey_non_operation表中有今天日期的行程。但是,由于每次旅行都有许多非操作日期,所以它正在更改结果集。

下面是第一次和第二次并行查询的结果:

如何阻止journey_non_operation连接影响结果集,但使之不选择它们的id位于非操作日期之间的行程?

journey_non_operation的表结构:

id - journey_id - start_date - end_date

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-15 11:06:11

您可以使用not in运算符而不是join

代码语言:javascript
复制
SELECT   ADDTIME(journey.departure, notrelatedtoquestion) AS departure
FROM     journey
WHERE    journey.code NOT IN (SELECT journey
                              FROM   journey_non_operation
                              WHERE  NOW() NOT BETWEEN date_start AND 
                                                       date_end)
GROUP BY journey.id
ORDER BY departure
票数 1
EN

Stack Overflow用户

发布于 2014-10-15 11:19:41

如果您使用左联接并将中间子句作为ON的一部分,那么每个匹配都意味着不应该显示旅程。因此,您只需在左联接后显示行而不匹配记录。

代码语言:javascript
复制
SELECT journey.id, ADDTIME(journey.departure, notrelatedtoquestion) AS departure
FROM journey
LEFT JOIN journey_non_operation ON journey_non_operation.journey = journey.code 
     AND  NOW()  BETWEEN journey_non_operation.date_start AND journey_non_operation.date_end
WHERE journey_non_operation.id is null
GROUP BY journey.id
ORDER BY departure
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26380910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档