首页 > 解决方案 > 如何编辑`SELECT` SQL返回的列值的字符串值结果

问题描述

我编写了一个查询来返回我正在寻找的结果,但我只想返回“iOS”或“Android”而不是完整的device_info字符串。

SELECT
  fans.device_info
FROM
  fans
JOIN
  rewards_codes_redemptions ON rewards_codes_redemptions.fan_id = fans.id
JOIN
  rewards_codes ON rewards_codes.id = rewards_codes_redemptions.reward_code_id
WHERE
  rewards_codes.account_id IN ('1580fb29-4c9e-4f6f-9d1c-c06e43a873fb',
                               'edf9984a-5000-44f5-b379-25bb34620c78')
ORDER BY
  rewards_codes_redemptions.created_at
LIMIT
 50

目前的结果

iOS; 11.4.1; iPhone,
Android; 9; Pixel 2 XL
// ...

期望的结果

iOS,
Android

最好为每个子查询做一个子查询吗?

谢谢您的帮助

标签: sqlpostgresql

解决方案


您正在寻找的是结合 LIKE 的 CASE 语句的使用。

最好是编写那种代码来取回原始结果并为所需的结果集添加一列。

案例: https ://www.w3schools.com/sql/func_mysql_case.asp

喜欢: https ://www.w3schools.com/sql/sql_like.asp


推荐阅读