Py学习  »  DATABASE

mysql 2个交叉表视图,不是1=1关系到一个视图中

Herbert Broens • 5 年前 • 954 次点击  

我有一个有四列的mysql表 subfield_id, submission_id, field_id, value

我提出了两个观点:

1。

SELECT submission_id, 
       MAX( CASE field_id WHEN '1' THEN value ELSE '0' END ) Usernumber,
       MAX( CASE field_id WHEN '2' THEN value ELSE '0' END ) Company, 
       MAX( CASE field_id WHEN '3' THEN value ELSE '0' END ) Zipp, 
FROM table
GROUP BY submission_id

结果表列: Submission_id, Usernumber, Company, Zipp

2。

SELECT submission_id, 
       MAX( CASE field_id WHEN '4' THEN value ELSE '0' END ) Usernumber1, 
       MAX( CASE field_id WHEN '5' THEN value ELSE '0' END ) Partnernumber 
FROM table 
GROUP BY submission_id

结果表列: Submission_id, Usernumber1, Partnernumber

Usernumber Usernumber1 是同一个号码吗

如何创建包含以下列的视图?

Usernumber, Company,  Zipp, Partnernumber
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38904
 
954 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Gordon Linoff
Reply   •   1 楼
Gordon Linoff    6 年前

只需在单个查询中写入:

SELECT submission_id, 
       MAX( CASE field_id WHEN '1' THEN value ELSE '0' END ) as Usernumber,
       MAX( CASE field_id WHEN '2' THEN value ELSE '0' END ) as Company, 
       MAX( CASE field_id WHEN '3' THEN value ELSE '0' END ) as Zipp, 
       MAX( CASE field_id WHEN '5' THEN value ELSE '0' END ) as Partnernumber 
FROM table
GROUP BY submission_id;

这些视图并不能真正帮助您处理这个查询。

编辑:

根据您的评论:

select *
from view1 v1 join
     view2 v2
     using (Usernumber);