
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で質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Oracle SQL update方法 2 2022/06/22 14:07
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- PostgreSQL postgreSQL カラムの全ての値を取得したい 3 2022/10/07 12:33
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
- MySQL sqlにおけるテーブル名と各カラム名って 具体的に何ですか? 私は良くphpmyadminを使います 3 2023/05/18 14:10
- その他(プログラミング・Web制作) google formsで回答者をスプレッドシートに記載する方法 1 2023/06/23 11:22
- PHP 【スプレッドシート】順位のつけ方 2 2022/08/17 13:27
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB データグリッドビューへの表示
-
重複レコードの抽出
-
結合したテーブルに名前をつけ...
-
SQLローダーCSV取込で、囲み文...
-
文字型の順番がうまく並ばない。
-
where句中のtrim関数について
-
@以下をソートしたい
-
SQL Serverでデータの表示順を...
-
timestamp型のgroup
-
DATAPUMPとFASTUNLOADでのデー...
-
ピボットテーブルを複数項目で...
-
このようなDELETEはできますか?
-
AccessでMySQLを表示 改行が表...
-
複数のデータテーブルのデータ...
-
データベースを用いて掲示板を...
-
Ruby on RailsでDBカラムにハイ...
-
海外送金について この英文は...
-
引数によってwhere句を切り替え...
-
Mysqlで変数を使ったSELECT文の...
-
SQLで二つのデータベースをUNIO...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
count関数の値をwhere句で使用...
-
OUTER JOIN とgroup by
-
【バグ?】ORDER BY DESCでempty
-
小数点以下桁数が最大の値に小...
-
市区町村別の件数をカウントす...
-
同じテーブルでのUNION
-
結合したテーブルに名前をつけ...
-
条件について
-
重複データを除外する際に条件...
-
金額の計算方法
-
複雑なSELECT
-
複雑な並び替え処理
-
ストアドファンクションの再帰...
-
【初歩】項目別の合計件数をSQL...
-
NULLを 0 として計算する方法は?
-
以下のテーブルa,bから目的とす...
-
SQL 自己結合で件数の条件指定
-
重複レコードの抽出
-
SQL カラムの値ごとの集計
-
SQLローダーCSV取込で、囲み文...
おすすめ情報