首页 > 解决方案 > MySQL 中的条件 SELECT SQL 语句

问题描述

这 3 个表在 MySQL 数据库中设置如下(未显示所有列):
events_table

类表

教师表

我想编写一个 SQL 查询,其中我想根据events_table.event_type特定日期的数据选择数据,即,如果(假设 12 月 25 日)是假期,那么event_type如果(假设 8 月 28 日)是工作日然后event_dateSELECT events_table.occasion...event_typeevent_dateSELECT classes_table.id, classes_table.class_type

IF events_table.event_type <> 'holiday' THEN

-- If event on a particular day was not a holiday, select the following

    SELECT
        classes_table.id,
        classes_table.class_type 
    FROM
        classes_table 
    WHERE
        teachers_table.username = 'teacher_name' 
        INNER JOIN teachers_table ON teachers_table.id = classes_table.teacher_id
ELSE

-- Else, select the following

   SELECT
        events_table.occasion 
    FROM
        events_table 
END IF

但是,根据这个答案,这是不可能的。我们也不能IF...ELSE在没有BEGIN....END块的情况下使用,但是这样做也对我没有帮助。有什么方法可以在 MySQL 中做到这一点(最好没有子查询),如果没有,最有效的实现方式是什么?

标签: mysql

解决方案


推荐阅读