首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >买一张没有周末和假期的桌子。MYSQL

买一张没有周末和假期的桌子。MYSQL
EN

Stack Overflow用户
提问于 2015-09-29 02:15:00
回答 2查看 575关注 0票数 0

我已经写了两张桌子了。第一个是time_dimension的所有日期,第二个是今年的公共假日。然而,我想让这一天没有周末和假期。我写的查询就像;

代码语言:javascript
复制
SELECT ti.id, ti.db_date, ti.year, ti.month, ti.day, ti.quarter, ti.week,   ti.day_name, ti.month_name
FROM time_dimension ti
LEFT JOIN  tbl_holidays tb on ti.db_date=tb.startdate
where  day_name in ('Monday','Tuesday','Wednesday','Thursday','Friday');

有人能帮我摆脱这个查询中的假日表吗?

更新答案:

代码语言:javascript
复制
SELECT ti.id, ti.db_date, ti.year, ti.month, ti.day, ti.quarter, ti.week, ti.day_name, ti.month_name
FROM DeJuMa.time_dimension ti
LEFT JOIN  tbl_holidays tb on ti.db_date=tb.startdate
where  day_name in ('Monday','Tuesday','Wednesday','Thursday','Friday')
AND ti.db_date NOT IN (select startdate from tbl_holidays tb );
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-29 02:18:37

您可以使用NOT EXISTS来排除假日:

代码语言:javascript
复制
SELECT *
FROM time_dimension ti
WHERE
    NOT EXISTS(SELECT 1 FROM tbl_holidays WHERE startdate = ti.db_date)
    AND day_name IN ('Monday','Tuesday','Wednesday','Thursday','Friday');
票数 1
EN

Stack Overflow用户

发布于 2015-09-29 02:24:11

代码语言:javascript
复制
    SELECT ti.id, ti.db_date, ti.year, ti.month, ti.day, ti.quarter, ti.week, ti.day_name, ti.month_name
        FROM time_dimension ti WHERE day_name NOT IN ('Saturday','Sunday')
        AND ti.db_date NOT IN (SELECT startdate FROM tbl_holidays);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32834622

复制
相关文章

相似问题

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