3

何千ものレコードを含む他の数千のテーブルの要約テーブルを作成するタスクがあります。要約テーブルには次のものが含まれている必要があります。

  1. 「レコード」の非冗長リスト。
  2. その「レコード」を含むテーブルの数
  3. その「レコード」を含むテーブルの名前

例は次のとおりです。

Table_1
nameA
nameB
nameC

Table_2
nameB
nameC
nameD

Table_3
nameC
nameD
nameE

結果は次のようになります

Record_name  Number  Table_names
nameA        1       Table_1
nameB        2       Table_1, Table_2
nameC        3       Table_1, Table_2, Table_3
nameD        2       Table_2, Table_3
nameE        1       Table_3

複雑なことではないかもしれませんが、私はまったく新しいのでmysql、皆さんからアドバイスや助けをもらいたいと思っています。

4

1 に答える 1

3
SELECT  col1 as `Record Number`, 
        COUNT(*) as `Number`, 
        GROUP_CONCAT(_name) as `table name`
FROM
(
    SELECT col1, 'table_1' as _name FROM table_1
    UNION ALL
    SELECT col1, 'table_2' as _name FROM table_2
    UNION ALL
    SELECT col1, 'table_3' as _name FROM table_3
) a
GROUP BY col1
于 2013-01-24T09:34:50.277 に答える