MySql-如何给单列设置两个别名

标签 mysql sql

select event_id,
       IF(event_type!='C',e.event_title ,'') event_title,
       IF(event_type='C', e.event_title ,'') event_subtitle
from event e where log_id='%s'

此查询仅针对“event_title”产生结果,并显示“event_subtitle”的空结果,即使我有结果“event_subtitle”的数据

最佳答案

例如代码“有效”

drop table if exists event;
create table event(event_id int, event_type varchar(1), event_title varchar(10));

insert into event values
(1,'c','aaa'),(2,'x','xxx');

select event_id,
       IF(event_type!='C',e.event_title ,'') event_title,
       IF(event_type='C', e.event_title ,'') event_subtitle
from event e;

+----------+-------------+----------------+
| event_id | event_title | event_subtitle |
+----------+-------------+----------------+
|        1 |             | aaa            |
|        2 | xxx         |                |
+----------+-------------+----------------+
2 rows in set (0.00 sec)

如果您的数据模型看起来不像这样或者基于我的示例数据的输出不是您期望的,请将示例数据和所需的输出作为文本添加到问题中。

关于MySql-如何给单列设置两个别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53591028/

相关文章:

mysql - SELECT 用户订阅的多个值的总和

PHP PDO 取空

sql - SQL Azure 的 ADO.NET 连接池并发问题或我们如何无法扩展 Web 应用程序

php - 如何从 phpMyAdmin 以给定的时间间隔自动生成 CSV

刷新后 PHP Session 将不起作用

mysql - 尝试构建一个 SQL SELECT 查询来显示出现次数最多的用户

mysql - 插入sql中的双重选择

sql - 多组列计数Linq

sql - 从自定义电子邮件表发送电子邮件的代理作业

mysql - 复杂的 M :N relationship with MySQL tables