重複の可能性:
MySQL は別のテーブルの列名を使用します
私は2つのテーブルを持っています:
任意のテキストから抽出されたいくつかの単語を含む TABLE_1。と
TABLE_2 と関連テキストの単語 (列) の頻度
テキストに存在する Author_Id と単語 (行) を使用して TABLE_3 を作成したいと思います。
表 3 http://www.infociencias.net/images/tab3.jpg
MySQLでこれを行う方法は?
重複の可能性:
MySQL は別のテーブルの列名を使用します
私は2つのテーブルを持っています:
任意のテキストから抽出されたいくつかの単語を含む TABLE_1。と
TABLE_2 と関連テキストの単語 (列) の頻度
テキストに存在する Author_Id と単語 (行) を使用して TABLE_3 を作成したいと思います。
表 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
SQL FiddlewithDemoを参照してください
結果:
| 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 |