No.1ベストアンサー
- 回答日時:
どういうSQL文を作ってるのか解りませんが、カラム名が同じ時はtable名も付けて区別します、同じtableをjoin するときは、別名(alias)を付けて区別します。
create table tblname as select 文なら、select 句に指定するカラム名がカラム名だけで区別できるように、カラム名にalias を付けます。
rank.hoge って、table名が rank で、 hoge がカラム名ですよね。
rank1 はどこから出てきたのかな?新規table名の方?join対象tableのalias?
例文 rank テーブルが、hoge,new,old のカラムを持ってるとして
create table rankjoin
as select rank0.hoge as r0hoge, rank0.old as veryold, rank1.hoge as r1hoge, rank1.new as new, rank1.old as old
from rank as rank0 join rank as rank1 on rank0.new=rank1.old ;
これで、rankjoin は、r0hoge,veryold, r1hoge, new,old のカラムを持つことになります。
rank1 対象にselect 例文作成すると
select r0hoge,r1hoge, new from rank1;
SQLiteなら、view も作成できるけど、select句のかち合うカラムには別名必要なのは同じ。
この回答への補足
ご助言を読み直し、
select * from テーブルA
left outer join テーブルB
on テーブルA.name = テーブルB.name;
で書き出す*をきちんと指定した上で、それぞれ
新たなカラム名をas hoge...で与えたところ
希望の結果が得られました。
どうもありがとうございました!
早速のご助言、ありがとうございます。
初心者なので説明が至らず、すみません。
テーブルA
name | rank
A | 重要
B | ---
C | 参考
D | ---
|...
テーブルB
name | rank
A |
B | 参考
C | 参考
D |
... |...
をくっつけて
name |Aのrank|Bのrank
A | 重要 |
B | --- | 参考
C | 参考 | 参考
D | --- |
|... |
・・・というテーブルを作成したいのです。
ネットで調べると、outer joinなるものが使えそうなので
select * from テーブルA
left outer join テーブルB
on テーブルA.name = テーブルB.name;
でうまく行けそうだったので、先頭に
create table テーブルC as...を付けて新規テーブルを
作成したところ、rank名が重複して
name | rank | rank:1
A | 重要 |
B | --- | 参考
C | 参考 | 参考
D | --- |
|... |
・・・となってしまいました。。。ということです。
本来はここから、「なにもないnameを削除」して
name | rank | rank:1
A | 重要 |
B | --- | 参考
C | 参考 | 参考
というテーブルを作成したいのですが、rank:1を指定しようとして
テーブルc.rank:1
としても、駄目、と言われてしまいました。
やはり最初のテーブルを作成するときの
カラム名を重複させないようにしたほうがいいのでしょうか...?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
count関数の値をwhere句で使用...
-
OUTER JOIN とgroup by
-
重複レコードの抽出
-
結合したテーブルに名前をつけ...
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
AccessのSQL文で1件のみヒット...
-
ファイルの漢数字の順番につい...
-
select文の実行結果に空白行を...
-
SELECT FOR UPDATE で該当レコ...
-
トランザクションログを出力せ...
-
2つの列が同じ値の行を取得するSQL
-
【PL/SQL】FROM区に変数を使う方法
-
アクセスのレポートでレコード...
-
テーブルの最後(最新)のレコー...
-
SQL*Loader Append
-
where句中のtrim関数について
-
int型フィールドにnullを登録で...
-
レコードの更新履歴について
-
「数字で始まらない」ものを抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
count関数の値をwhere句で使用...
-
OUTER JOIN とgroup by
-
結合したテーブルに名前をつけ...
-
ストアドファンクションの再帰...
-
小数点以下桁数が最大の値に小...
-
SQL 重複レコードの数え方
-
【PHP5+MySQL5】 count(*)の値...
-
同一カラム名でjoinしたところ...
-
Perlからのアクセス。カウント...
-
初歩的な質問ですが、教えてく...
-
SQL 自己結合で件数の条件指定
-
同じテーブルでのUNION
-
複雑な並び替え処理
-
重複レコードの抽出
-
mysql分単位での統計情報
-
SQL カラムの値ごとの集計
-
SQLローダーCSV取込で、囲み文...
-
ファイルの漢数字の順番につい...
-
【PL/SQL】FROM区に変数を使う方法
-
select文の実行結果に空白行を...
おすすめ情報