Quantcast
Channel: MySQL Case statement in a View with Union All - Stack Overflow
Viewing all articles
Browse latest Browse all 2

MySQL Case statement in a View with Union All

$
0
0

I want to add a "Status" column to my view "v_file_details", which will have a value, depending on the data from "v_file_details.records_waiting_count" and "v_file_details.records_correct_count" columns. But I don't understand how can I use Case at the view?

create view v_file_details asselect fi.file_importer_id,fi.file_name,convert(time(0), fi.file_date) import_time,fi.error_type,((SELECT COUNT(*) From reservation Where file_importer_id = fi.file_importer_id AND status in ('S', 'S1')) +(SELECT COUNT(*) From error_file_record Where file_importer_id = fi.file_importer_id) +(SELECT COUNT(*) From startup Where file_importer_id = fi.file_importer_id AND status in ('T', '6'))) as records_correct_count,((SELECT COUNT(*) From location Where file_importer_id = fi.file_importer_id AND status = 'Y') +(SELECT COUNT(*) From reservation Where file_importer_id = fi.file_importer_id AND status = 'N') +(SELECT COUNT(*) From startup Where file_importer_id = fi.file_importer_id AND status in ('X', 'X1'))) as records_waiting_count,case 'status' when records_waiting_count > 0 THEN 'Waiting' ELSE 'ACCEPTED', -- it is the problem, I don't know how to use CASE herefi.new_file_name,from file_importer fileft join startup ts on fi.file_importer_id = ts.file_importer_id where ts.file_importer_id is not nullunion allselect fi.file_importer_id,fi.file_name,convert(time(0), fi.file_date) import_time,fi.error_type,((SELECT COUNT(*) From reservation Where file_importer_id = fi.file_importer_id AND status in ('S', 'S1')) +(SELECT COUNT(*) From error_file_record Where file_importer_id = fi.file_importer_id) +(SELECT COUNT(*) From startup Where file_importer_id = fi.file_importer_id AND status in ('T', '6'))) as records_correct_count,((SELECT COUNT(*) From location Where file_importer_id = fi.file_importer_id AND status = 'Y') +(SELECT COUNT(*) From reservation Where file_importer_id = fi.file_importer_id AND status = 'N') +(SELECT COUNT(*) From startup Where file_importer_id = fi.file_importer_id AND status in ('X', 'X1'))) as records_waiting_count,case 'status' when records_waiting_count > 0 THEN 'Waiting' ELSE 'ACCEPTED', --here the samefi.new_file_name,from file_importer fileft join reservation res on fi.file_importer_id = res.file_importer_id where res.file_importer_id is not nullGO

Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images