1

テーブルをSQLクエリと組み合わせることができることは知っていますが、それは私が探しているものではありません。

10個のテーブルがあり、すべてが同一であると想像してください。ただし、特定の理由により、このデータを1つのテーブルに混在させたくありません。けれど!一方、特定の検索結果を作成するには、単一のSQLクエリを実行できるようにします。(select * from Combined_table where name ='whatever')

これらの10個のテーブルすべてからその場でデータを取得します...

可能、はい/いいえ?

4

1 に答える 1

2

ほぼ確実に、このデータを1つのテーブルに入れたいと思うでしょう。

10種類のデータがあるとしましょう。type(より適切な名前を選択する必要があります)という列を追加し、1〜10の値を設定できるようにします。これでクエリは変更なしで機能します。

必要に応じて、データを個別に取得することもできます。

SELECT * from yourtable
WHERE name = 'whatever'
AND `type` = 3

私がそれをしないと考えることができる唯一の理由は、異なる権限を持つ異なるユーザーがいて、どのユーザーがどのデータを見ることができるかを制御するためにテーブルを使用したい場合です。


利点があるにもかかわらず、データを1つのテーブルに入れたくない場合は、を使用して問題を解決できますUNION ALL

CREATE VIEW yourview AS
SELECT col1, col2, ..., coln FROM table1
UNION ALL
SELECT col1, col2, ..., coln FROM table2
UNION ALL
SELECT col1, col2, ..., coln FROM table3
UNION ALL
etc...
于 2012-06-29T06:00:26.867 に答える