0

重複の可能性:
MySQL は別のテーブルの列名を使用します

私は2つのテーブルを持っています:

  • 任意のテキストから抽出されたいくつかの単語を含む TABLE_1。と

  • TABLE_2 と関連テキストの単語 (列) の頻度

ここに画像の説明を入力

テキストに存在する Author_Id と単語 (行) を使用して TABLE_3 を作成したいと思います。

表 3 http://www.infociencias.net/images/tab3.jpg

MySQLでこれを行う方法は?

4

1 に答える 1

0

これは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 |
于 2012-11-21T18:21:59.250 に答える