Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL查询问题/帮助/建议_Mysql_Sql - Fatal编程技术网

Mysql SQL查询问题/帮助/建议

Mysql SQL查询问题/帮助/建议,mysql,sql,Mysql,Sql,我可以访问由第三方提供的雪花数据存储系统,该系统有一个表,我需要从中获取一些数据。这个表有三列我感兴趣,第一列叫做insert id,第二列叫做labels,第三列叫做value,它有最终用户输入的响应 我需要执行一个select查询,根据labels列中的值将值从列value选择到它自己的列中。例如从labels=textbox1\u lbl1的表格中选择值作为列1,从labels=textbox2\u lbl1的表格中选择值作为列2 我知道我可能没有以正确的方式解释这一点,希望这些模拟表能有

我可以访问由第三方提供的雪花数据存储系统,该系统有一个表,我需要从中获取一些数据。这个表有三列我感兴趣,第一列叫做insert id,第二列叫做labels,第三列叫做value,它有最终用户输入的响应

我需要执行一个select查询,根据labels列中的值将值从列value选择到它自己的列中。例如
从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;