php - mysql case语句

标签 php mysql case

我可以在 mysql case 语句中使用'AND'吗

例如:

$d = $mysqli->query("SELECT id_timeslot, date_book, id_beautician

     ,coalesce(thera_b, 'available') AS thera_b

    FROM ( SELECT t.id_timeslot, p.id_beautician, b.date_book

    , MAX(CASE b.id_beautician WHEN 2 THEN 'booked' THEN 'booked' ELSE NULL END 
       AND 
       CASE b.date_book WHEN '2011-01-04' THEN 'booked' ELSE NULL END) AS thera_b

    FROM timeslot as t
    LEFT JOIN bookslot as b ON b.id_timeslot = t.id_timeslot
    LEFT JOIN beautician as p ON p.id_beautician = b.id_beautician
        GROUP BY t.id_timeslot) AS xx");

或任何其他解决方案?

最佳答案

这是你需要的吗?

MAX(CASE WHEN b.id_beautician =2 
   AND b.date_book = '2011-01-04' THEN 'booked' END )  AS thera_b

这使用 searched 大小写格式(the docs 中的第二个)并省略了 ELSE NULL,因为这是隐式的。

关于php - mysql case语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4596023/

相关文章:

php - 更新mysql表中的数据

php - Laravel - 在 where 子句列中使用 mysql 函数

sql - SQL Where 子句中的大小写切换

mysql - 除了字符串的第一个字符之外,如何在 mysql 中区分大小写?

"CASE WHEN"中的 MYSQL 正则表达式

php - 如何在 PHP 联系表单中设置 "From"地址?

php - 如何获取 DOMPDF 中的总页数?

php - 需要帮助创建可编辑的复选框

php - 将包含 case 语句的 MySql 查询转换为 codeigniter 事件记录查询

mysql - Mysql Innodb性能-如何最小化多列索引?