如何基于另一列的值SQL在查询中选择创建/添加列?
技术问答
142 人阅读
|
0 人回复
|
2023-09-14
|
我想hook_name根据条件通过SQL选择查询动态添加另一列。2 A0 a' D! o+ L4 [( C& p
例如,如果hook_type = 0,表hook_name的值应为OFFER,对于hook_type =1,类似的表hook_name应显示“ ACCEPT”。
* ^' F7 A9 f2 d! I2 P以下是屏幕截图的结果:. y2 I: O& A! k
0 k. k; W9 W+ {+ B" @9 @- p
查询的选择如下:5 y/ a n6 s' ]2 f! A
select hook_type,'hook name' as hook_name, count(*) as number_of_exchange_activities from `exchange` group by hook_type # hook_type 0 for OFFER,1 for ACCEPT and 2 for offer EXPIRED;提前致谢。3 z! G& E9 q: G( g( F
, W0 F g r, m! L# w, O
解决方案: 1 C* L) B5 y( L
使用标准的SQL CASE:
7 |$ Y) \/ u4 T' U8 g8 ^5 MSELECT hook_type, CASE hook_type WHEN 0 THEN 'OFFER WHEN 1 THEN 'ACCEPT WHEN 2 THEN 'EXPIRED' END AS hook_name, COUNT(*) AS number_of_exchange_activities FROM `exchange` GROUP BY hook_type |
|
|
|
|
|