0

複数のテーブルからデータを取得しようとしています (すべてのテーブルは同一です)

Select column1,column2 From table1,table2

MYSQL でこれを取得する正しい方法ですか。(クエリでテーブル名を動的に渡しています)

4

3 に答える 3

1

必要な構文は次のとおりです。

SELECT a.column1, b.column2
FROM table1 AS a, table2 AS b

ASリクエストで直接使用できるエイリアスをテーブルに付けます。

于 2012-06-19T10:21:02.650 に答える
0

お気に入り:

SELECT table1.column1, table2.column2 
FROM table1, table2

テーブルを使用して列を完全修飾すると、列がテーブル内で同じ名前を持つ場合に競合が発生しなくなります。zessxが彼の回答で述べているように、これを行う別の方法は、テーブルにエイリアスを設定することです。これにより、長いテーブル名/スキーマ名を使用してクエリを簡単にすることができます。

于 2012-06-19T10:21:29.560 に答える
0

多分これ:

 SELECT column1, column2
 FROM table1
 UNION ALL
 SELECT column1, column2
 FROM table2

ただし、テーブル名を動的に渡すことはできません。それらは事前にデータベースに認識されている必要があります (そのため、最初にプログラムで SQL を構築する必要があります)。

于 2012-06-19T10:24:19.327 に答える