[解決済み] SQL select join: すべてのカラムに 'prefix.*' というプレフィックスを付けることは可能ですか?
質問
SQLでこんなことが可能なのかと思っています。AとBの2つのテーブルがあり、Aテーブルでselect、Bテーブルでjoinを行ったとします。
SELECT a.*, b.* FROM TABLE_A a JOIN TABLE_B b USING (some_id);
テーブル A が 'a_id', 'name', 'some_id' というカラムを持ち、テーブル B が 'b_id', 'name', 'some_id' を持つ場合、クエリは 'a_id', 'name', 'some_id', 'b_id', 'name', 'some_id' というカラムを戻すことになります。すべてのカラムを個別にリストすることなく、テーブルBのカラム名をプレフィックスする方法はありますか?これに相当するのは
SELECT a.*, b.b_id as 'b.b_id', b.name as 'b.name', b.some_id as 'b.some_id'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
しかし、前述のように、すべての列をリストアップすることなく、だから、次のようなもの。
SELECT a.*, b.* as 'b.*'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
基本的には、"b.* が返すすべての列の前に 'something'" を付ける、というようなことです。これは可能ですか、それとも私は運が悪いのでしょうか?
編集
を使用しない場合のアドバイス
SELECT *
といったことは有効なアドバイスですが、私の文脈には関係ありません。ですから、今ある問題にこだわってください。
私の最終的なゴールは
SELECT *
を実行し、結果セットに含まれるカラムの名前から、どのカラムがテーブルAから来たもので、どのカラムがテーブルBから来たものかを判断できるようにする必要があります。
SELECT *
.
解決方法は?
ここでは、2つの状況が考えられますね。まず、データベースに関係なく一般的に使用できる標準SQLがあるかどうかを知りたいとします。いいえ、ありません。2つ目は、特定のdbms製品に関して知りたい場合です。それなら、それを特定する必要があります。しかし、最も可能性の高い答えは、"a.id, b.id" のようなものが返ってくることでしょう。なぜなら、それがSQL式で列を特定するために必要な方法だからです。そして、デフォルトが何であるかを知る最も簡単な方法は、そのようなクエリを送信して、何が返ってくるかを見ることです。ドットの前に来る接頭辞を指定したい場合は、例えば "SELECT * FROM a AS my_alias" を使用することができます。
関連
-
[解決済み】Teradata - 計算中に数値のオーバーフローが発生しました。
-
[解決済み】ORA-01791: SELECTされた式ではない
-
[解決済み] 集計を行わずに行から列へピボット移動する
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL ServerでJOINを使用してテーブルを更新しますか?
-
[解決済み] SQL JOIN - WHERE句とON句の比較
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
-
[解決済み】2つのSELECT文の結果をJOINする。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ストアドプロシージャーのエラー ORA-06550
-
[解決済み】Postgresのエラー。式として使用されるサブクエリによって返される複数の行
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み】SQL ServerでIdentityカラムを更新する方法は?
-
[解決済み】sys.dm_exec_sql_textはどのように機能するのでしょうか?
-
[解決済み】一括読み込みデータ変換エラー(切り捨て)
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] varchar 値の変換で int カラムがオーバーフローしました。
-
[解決済み] オペランド型の衝突:uniqueidentifierはintと互換性がない
-
[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)