根据mySQL IF-ELSE条件在两个MySQL select查询之间进行选择

时间:2016-07-20 10:19:22

标签: mysql

我正在创建数据分析仪表板。我将名为channel_param的参数传递给MySQL数据源。

我想在此查询中添加一个if语句,首先检查channel_param参数值是否等于“ALL”

如果是“ALL”,则应执行以下查询:

SELECT 
c.CountryCode, COUNT(f.`country_code_id`) AS view_count  
FROM 
fact_access_logs_views f
JOIN dim_country_code c ON f.`country_code_id` = c.`country_code_id` 
JOIN dim_time_access d ON f.`access_time_id` = f.`access_time_id`
JOIN dim_channel chn ON f.`channel_id` = chn.`channel_id

如果有任何其他值,此查询应执行:

SELECT 
c.CountryCode, COUNT(f.`country_code_id`) AS view_count  
FROM 
fact_access_logs_views f
JOIN dim_country_code c ON f.`country_code_id` = c.`country_code_id` 
JOIN dim_time_access d ON f.`access_time_id` = f.`access_time_id`
JOIN dim_channel chn ON f.`channel_id` = chn.`channel_id`
WHERE 
chn.`shortname_chn` = ${channel_param} 

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

这就是我使用SQL CASE表达式解决问题的方法。

File file = new File(context.getExternalFilesDir(null), fileName);

我希望这个答案可以帮助人们在将来面对同样的困惑。