Mysql SQL查询问题/帮助/建议
我可以访问由第三方提供的雪花数据存储系统,该系统有一个表,我需要从中获取一些数据。这个表有三列我感兴趣,第一列叫做insert id,第二列叫做labels,第三列叫做value,它有最终用户输入的响应 我需要执行一个select查询,根据labels列中的值将值从列value选择到它自己的列中。例如Mysql SQL查询问题/帮助/建议,mysql,sql,Mysql,Sql,我可以访问由第三方提供的雪花数据存储系统,该系统有一个表,我需要从中获取一些数据。这个表有三列我感兴趣,第一列叫做insert id,第二列叫做labels,第三列叫做value,它有最终用户输入的响应 我需要执行一个select查询,根据labels列中的值将值从列value选择到它自己的列中。例如从labels=textbox1\u lbl1的表格中选择值作为列1,从labels=textbox2\u lbl1的表格中选择值作为列2 我知道我可能没有以正确的方式解释这一点,希望这些模拟表能有
从labels=textbox1\u lbl1的表格中选择值作为列1,从labels=textbox2\u lbl1的表格中选择值作为列2
我知道我可能没有以正确的方式解释这一点,希望这些模拟表能有所帮助
这就是我得到的
┌───────────┬───────────────┬────────┐
│ insert id │ labels │ value │
├───────────┼───────────────┼────────┤
│ 1 │ textbox1_lbl1 │ blue │
│ 1 │ textbox2_lbl1 │ red │
│ 1 │ textbox3_lbl1 │ green │
│ 1 │ textbox4_lbl1 │ yellow │
│ 2 │ textbox1_lbl1 │ blue │
│ 2 │ textbox2_lbl1 │ red │
│ 2 │ textbox3_lbl1 │ green │
│ 2 │ textbox4_lbl1 │ yellow │
└───────────┴───────────────┴────────┘
这就是我想要的
┌───────────┬─────────┬─────────┐
│ insert_id │ column1 │ column2 │
├───────────┼─────────┼─────────┤
│ 1 │ blue │ red │
│ 2 │ blue │ red │
└───────────┴─────────┴─────────┘
我一直在试图找出我应该使用的查询,但我现在还没有找到答案。如果您对查询有任何帮助,我将不胜感激。这是一个非常简单的查询,我很愚蠢。我想您需要条件聚合:
select insert_id,
max(case when labels = 'textbox1_lbl1' then value end) as column_1,
max(case when labels = 'textbox1_lbl2' then value end) as column_2
from t
group by insert_id;