mysql - 根据 IF 条件跳过查询字段

标签 mysql

我的 MySQL 查询被发送到 csv,然后发送到 HTML 文件。 当我这样做时...

SELECT
field_a,
IF($VAR="yes",field_b,""),
field_c
FROM table
INTO OUTFILE "query.csv";

...正如预期的那样,我总是得到 3 列(field_a、field_b 或空、field_c)。 当 $VAR 不是“yes”时,如何仅获取 2 列(field_a、field_c)?

最佳答案

动态构建您的查询。看起来您的 $VAR 条件并不依赖于数据。然后你可以这样做(PHP 中的示例):

$fields = 'field_a' ;
if ($VAR == 'yes') $fields .= ', field_b' ; // and so on
$query = "SELECT $fields FROM table" ;

关于mysql - 根据 IF 条件跳过查询字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15863416/

相关文章:

mysql - MariaDB配置优化

mysql - 安装的 percona-xtrabackup 包仍然收到 innobackupex : command not found

mysql - MYSQL查询中的多重计数

mysql - mySQL 中的引用和外键出现错误

mysql - MYSQL 中按字母顺序排列的最短和最长字符串?

php - 为什么在以下情况下未导入数据库转储?

mysql - SQL 多对多

MySQL根据另一个表的字段指定更新记录的字段

mysql - 将日期和文本值插入 MySQL 数据库

mysql - hana SQL 表定义中从 int 到 date 数据类型的转换