可能重複:
MySQL use column names from another tableMySQL的選擇值間接地通過不同的 '列名'
我有兩個表:
TABLE_1從提取的一些話任何文字;和
TABLE_2與在相關文本
我倒是的單詞(在列)頻率喜歡以產生具有AUTHOR_ID和字TABLE_3(成行)存在於文本:
Table 3 http://www.infociencias.net/images/tab3.jpg
如何做到這一點在MySQL?
可能重複:
MySQL use column names from another tableMySQL的選擇值間接地通過不同的 '列名'
我有兩個表:
TABLE_1從提取的一些話任何文字;和
TABLE_2與在相關文本
我倒是的單詞(在列)頻率喜歡以產生具有AUTHOR_ID和字TABLE_3(成行)存在於文本:
Table 3 http://www.infociencias.net/images/tab3.jpg
如何做到這一點在MySQL?
這是一個UNPIVOT
您正在嘗試做的,但MySQL沒有一個UNPIVOT
功能,所以你需要使用它UNION ALL
複製:
SELECT c.author_id, words, value
FROM Table1 A
INNER JOIN
(
select author_id, alfa value, 'alfa' col
from table2
union all
select author_id, car value, 'car' col
from table2
union all
select author_id, zoom value, 'zoom' col
from table2
) C
ON A.words = C.col
order by c.author_id
結果:
| AUTHOR_ID | WORDS | VALUE |
-----------------------------
| 123 | alfa | 3 |
| 123 | zoom | 0 |
| 123 | car | 0 |
| 157 | alfa | 0 |
| 157 | zoom | 2 |
| 157 | car | 0 |
| 332 | alfa | 1 |
| 332 | zoom | 0 |
| 332 | car | 3 |
| 519 | car | 0 |
| 519 | alfa | 0 |
| 519 | zoom | 0 |
| 588 | car | 1 |
| 588 | alfa | 5 |
| 588 | zoom | 0 |
| 777 | car | 0 |
| 777 | alfa | 0 |
| 777 | zoom | 1 |
| 804 | car | 7 |
| 804 | alfa | 0 |
| 804 | zoom | 5 |
嗨,bluefeet!如果我以前能夠知道這些單詞就沒問題,但我不能。每個不同的文字都有不同的詞。所以,不幸的是,表中偶爾會出現阿爾法,汽車,放大等字樣。我真的需要一個動態解決方案。 –
@RomualdoAlves你將不得不考慮創建一個過程來動態生成這個sql,然後執行它。 – Taryn
嘆氣。 _你有沒有試過?_ – Madbreaks
你可以發佈你想要的結果嗎? – Taryn
SELECT B.Author_Id,A.Column_Name FROM TABLE_1 A,TABLE_2 B,INFORMATION_SCHEMA.COLUMNSÇ 在表格名= 'TABLE_2' AND COLUMN_NAME = A.Column_Name –