日期:2014-05-16 浏览次数:22144 次
select concat(诊疗年月,'01') from table1 where Day_1=1 union all select concat(诊疗年月,'02') from table1 where Day_2=1 union all select concat(诊疗年月,'03') from table1 where Day_3=1 union all select concat(诊疗年月,'04') from table1 where Day_4=1 union all select concat(诊疗年月,'05') from table1 where Day_5=1 union all select concat(诊疗年月,'06') from table1 where Day_6=1 union all select concat(诊疗年月,'07') from table1 where Day_7=1 union all select concat(诊疗年月,'08') from table1 where Day_8=1 union all select concat(诊疗年月,'09') from table1 where Day_9=1 union all select concat(诊疗年月,'10') from table1 where Day_10=1 union all select concat(诊疗年月,'11') from table1 where Day_11=1 union all select concat(诊疗年月,'12') from table1 where Day_12=1 union all select concat(诊疗年月,'13') from table1 where Day_13=1 union all select concat(诊疗年月,'14') from table1 where Day_14=1 union all select concat(诊疗年月,'15') from table1 where Day_15=1 union all select concat(诊疗年月,'16') from table1 where Day_16=1 union all select concat(诊疗年月,'17') from table1 where Day_17=1 union all select concat(诊疗年月,'18') from table1 where Day_18=1 union all select concat(诊疗年月,'19') from table1 where Day_19=1 union all select concat(诊疗年月,'20') from table1 where Day_20=1 union all select concat(诊疗年月,'21') from table1 where Day_21=1 union all select concat(诊疗年月,'22') from table1 where Day_22=1 union all select concat(诊疗年月,'23') from table1 where Day_23=1 union all select concat(诊疗年月,'24') from table1 where Day_24=1 union all select concat(诊疗年月,'25') from table1 where Day_25=1 union all select concat(诊疗年月,'26') from table1 where Day_26=1 union all select concat(诊疗年月,'27') from table1 where Day_27=1 union all select concat(诊疗年月,'28') from table1 where Day_28=1 union all select concat(诊疗年月,'29') from table1 where Day_29=1 union all select concat(诊疗年月,'30') from table1 where Day_30=1 union all select concat(诊疗年月,'31') from table1 where Day_31=1
------解决方案--------------------
SELECT * FROM ( SELECT CASE day_1 WHEN 1 THEN CONCAT(诊断年月,'01') END AS yes FROM tabl UNION SELECT CASE day_2 WHEN 1 THEN CONCAT(诊断年月,'02') END AS yes FROM tabl UNION SELECT CASE day_3 WHEN 1 THEN CONCAT(诊断年月,'03') END AS yes FROM tabl UNION SELECT CASE day_4 WHEN 1 THEN CONCAT(诊断年月,'04') END AS yes FROM tabl) t WHERE t.yes IS NOT NULL;