如何基于另一列的值SQL在查询中选择创建/添加列?
技术问答
402 人阅读
|
0 人回复
|
2023-09-14
|
我想hook_name根据条件通过SQL选择查询动态添加另一列。5 g% ?0 f6 F' j0 n- o* l9 M, w, d
例如,如果hook_type = 0,表hook_name的值应为OFFER,对于hook_type =1,类似的表hook_name应显示“ ACCEPT”。+ G- P; [3 I: ]' Y) Q" k6 N2 ~. i
以下是屏幕截图的结果:( J% q3 |# I9 H! ~$ \. N7 z! P
; C$ v! X: _# i3 u: `& r
查询的选择如下:/ f: T* L1 a) o' F r/ q4 e! @/ i; `
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;提前致谢。
* M& w- z8 L6 |7 v k& e / T4 e' _5 Z( H
解决方案:
2 f; H3 y$ v$ U. k$ P/ c1 | 使用标准的SQL CASE:/ ~" o% y/ l2 V$ V% u! q4 M
SELECT 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 |
|
|
|
|
|