我认为我需要使用select;
中的值进行扩展select
`mc_cf7dbplugin_submits`.`submit_time` AS `submit_time`,
`mc_cf7dbplugin_submits`.`form_name` AS `form_name`,
`mc_cf7dbplugin_submits`.`field_name` AS `field_name`,
`mc_cf7dbplugin_submits`.`field_value` AS `field_value`,
`mc_cf7dbplugin_submits`.`field_order` AS `field_order`,
`mc_cf7dbplugin_submits`.`file` AS `file`,`mc_cf7dbplugin_submits`.`processed` AS `processed`
from `mc_cf7dbplugin_submits`
where isnull(`mc_cf7dbplugin_submits`.`processed`)
如果'field_name'等于'File',我需要显示的变量'file_name'应该是'field_value'的内容
这可能吗?如果可以,我该怎么做?
答案 0 :(得分:0)
您可以在字段列表中使用IF():
select
`mc_cf7dbplugin_submits`.`submit_time` AS `submit_time`,
`mc_cf7dbplugin_submits`.`form_name` AS `form_name`,
`mc_cf7dbplugin_submits`.`field_name` AS `field_name`,
`mc_cf7dbplugin_submits`.`field_value` AS `field_value`,
`mc_cf7dbplugin_submits`.`field_order` AS `field_order`,
`mc_cf7dbplugin_submits`.`file` AS `file`,
`mc_cf7dbplugin_submits`.`processed` AS `processed`,
IF(`mc_cf7dbplugin_submits`.`field_name`='File', `mc_cf7dbplugin_submits`.`field_value`, NULL) AS `file_name`
from `mc_cf7dbplugin_submits`
where isnull(`mc_cf7dbplugin_submits`.`processed`)
答案 1 :(得分:0)
您可以使用CASE
语句来获得预期结果。 WHERE子句中还有一个问题,条件应该是columnname IS NULL
。
SELECT
`mc_cf7dbplugin_submits`.`submit_time` AS `submit_time`,
`mc_cf7dbplugin_submits`.`form_name` AS `form_name`,
`mc_cf7dbplugin_submits`.`field_name` AS `field_name`,
`mc_cf7dbplugin_submits`.`field_value` AS `field_value`,
`mc_cf7dbplugin_submits`.`field_order` AS `field_order`,
`mc_cf7dbplugin_submits`.`file` AS `file`,
`mc_cf7dbplugin_submits`.`processed` AS `processed`
CASE WHEN `mc_cf7dbplugin_submits`.`field_name` = 'File' THEN `mc_cf7dbplugin_submits`.`field_value`
ELSE ''
END AS `file_name`
FROM `mc_cf7dbplugin_submits`
WHERE `mc_cf7dbplugin_submits`.`processed` IS NULL