-2

複数の製品テーブルがあります (互いに関連していません)。次のようなプレフィックスを持つすべての製品テーブル

computer_products
kitchen_products
..... so on

私はすべてのプレフィックスを別のテーブルに持っています。すべてのテーブルから製品を取得する必要があります。

ストアド プロシージャを使用できることはわかっていますが、mysql クエリとストアド プロシージャは初めてです。私は学ぼうとしていますが、これは緊急のことです。

ストアドプロシージャを作成するための助けはありますか?

前もって感謝します

4

1 に答える 1

1

このようなクエリが必要です-

SELECT col1, col2 FROM computer_products
UNION
SELECT col1, col2 FROM kitchen_products

このクエリを使用して生成できます-

SELECT
  GROUP_CONCAT(CONCAT('SELECT col1, col2 FROM ', table_name) SEPARATOR ' UNION ')
  INTO @sql
FROM
  information_schema.tables
WHERE
  table_schema = '<database name>' -- spcecify <database name>
  AND table_name LIKE '%_products';

このクエリは SELECT クエリを作成し、それを@sql変数に渡します。

次に、準備済みステートメントを使用して実行します。

于 2012-11-14T07:39:12.623 に答える