簡體   English   中英

SQL - 如何創建透視表和現有表的視圖

[英]SQL - How do I create a view that pivots and existing table

我在用戶創建的表單上有一個用於動態字段的表:

表格的格式如下:

ID  | FIELD NAME 
-------------------
1   | Gross Gallons

為了與其他表形成連接,我需要創建一個如下所示的視圖

ID_1 
------------
Gross Gallons

任何幫助,將不勝感激

謝謝

這是一種制作動態字段的簡單方法。

給定表:

mysql> select * from dyna_field;

+------+---------------+
| id   | field_name    |
+------+---------------+
|    1 | Gross Gallons |
|    2 | Net Gallons   |
|    3 | Total         |
+------+---------------+

進行動態查詢:

select 
  group_concat(concat('(case when id = ', id, ' then field_name else "" end) as ID_', id, ' ')) into @sql_case
from dyna_field 
join(SELECT @sql_case:='') c;

set @sql_case = concat('select ', @sql_case, ', 1 as uid from dyna_field;');

prepare statement FROM @sql;

execute statement;

+---------------+-------------+-------+-----+
| ID_1          | ID_2        | ID_3  | uid |
+---------------+-------------+-------+-----+
| Gross Gallons |             |       |   1 |
|               | Net Gallons |       |   1 |
|               |             | Total |   1 |
+---------------+-------------+-------+-----+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM