2012-09-21 29 views
6

Tôi biết các ngôn ngữ như PHP có cấu trúc điều khiển trường hợp chuyển đổi hỗ trợ nhiều kiểm chứng thực trong một báo cáo trường hợp duy nhất như,Cách viết câu lệnh MYSQL CASE WHEN với nhiều điều kiện tìm kiếm?

Switch $x { 
    case 1,2,3: 
     $a = 0; 
     break; 
    case 5,6: 
     $a = 1; 
     break; 
} 

Tương tự như vậy điều này có thể được thực hiện trong MYSQL? Tôi cố gắng dưới đây, mà thực sự đã không làm việc mặc dù :(

CASE vc_shape 
    WHEN ('02' OR '51') THEN SET dc_square_1 = dc_square_1 + dc_row_total; 
    WHEN ('06' OR '30' OR 83) THEN SET dc_square_2 = dc_square_2 + dc_row_total; 
    ..... 
    ..... 
    ELSE 
     BEGIN 
     END; 
END CASE; 

Bất kỳ ý tưởng làm thế nào tôi có thể đạt được điều này

Trả lời

12

Sử dụng định dạng khác cho CASE báo cáo:

CASE 
    WHEN vc_shape IN ('02', '51') THEN SET dc_square_1 = dc_square_1 + dc_row_total; 
    WHEN vc_shape IN ('06', '30', '83') THEN SET dc_square_2 = dc_square_2 + dc_row_total; 
    ..... 
    ..... 
    ELSE 
     BEGIN 
     END; 
END CASE; 
Các vấn đề liên quan