tonoslfx
tonoslfx

Reputation: 3442

mysql case statement

can i use 'AND' in the mysql case statement

for example:

$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");

or any other solution?

Upvotes: 1

Views: 3186

Answers (1)

Martin Smith
Martin Smith

Reputation: 453308

Is this what you need?

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

This uses the searched case format (second one in the docs) and leaves out the ELSE NULL as this is implicit anyway.

Upvotes: 3

Related Questions