[解決済み】1052:フィールドリストの列「id」が曖昧である
2022-01-26 05:58:59
質問
2つのテーブルがあります。
tbl_names
と
tbl_section
の両方を持つ
id
フィールドが含まれています。を選択するにはどうすればよいのでしょうか?
id
というエラーがいつも発生します。
1052: Column 'id' in field list is ambiguous
これが私のクエリです。
SELECT id, name, section
FROM tbl_names, tbl_section
WHERE tbl_names.id = tbl_section.id
すべてのフィールドを選択すれば、エラーを回避することができるのですが。しかし、それではパフォーマンスの無駄になってしまいます。どうしたらいいでしょうか?
解決方法は?
SQL では、完全なテーブル名のいずれかをプレフィックスとして参照することで、カラムを修飾することができます。
SELECT tbl_names.id, tbl_section.id, name, section
FROM tbl_names
JOIN tbl_section ON tbl_section.id = tbl_names.id
...またはテーブルのエイリアス。
SELECT n.id, s.id, n.name, s.section
FROM tbl_names n
JOIN tbl_section s ON s.id = n.id
テーブル・エイリアスは推奨される方法です -- なぜ必要以上にタイプする必要があるのでしょうか?
なぜこれらのクエリは異なって見えるのでしょうか?
次に、私の回答はANSI-92 JOIN構文を使っています(あなたの回答はANSI-89です)。 これらは同じように動作しますが、ANSI-89構文はOUTER結合(RIGHT、LEFT、FULL)をサポートしていません。 ANSI-89構文は非推奨と考えるべきで、それを補強するためにANSI-89構文に投票しない人がSOにたくさんいます。 以下はその例です。 詳しくは、この質問をご覧ください。 .
関連
-
[解決済み】カラムのデータが切り捨てられた?
-
[解決済み】MySQL 派生テーブルはすべて独自のエイリアスを持つ必要があります。
-
[解決済み] MySQLで週単位でグループ化する方法は?
-
[解決済み] <TABLE> のテーブルストレージエンジンには、order by クエリでこのオプションがありません (ERROR 1031)。
-
[解決済み] SQL エラー - テーブルの定義が正しくありません; auto カラムは 1 つしか存在できません。
-
[解決済み] MySQLの更新datetimeフィールド
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】MySQLエラー#1071 - 指定されたキーが長すぎる; キーの最大長は767バイトです。
-
[解決済み] 親の行を削除または更新できない: 外部キー制約に失敗 - MYSQL
-
[解決済み】mysqld_safe UNIX ソケットファイル用のディレクトリ '/var/run/mysqld' が存在しません。
-
[解決済み】「docker container run」は最低1つの引数を必要とする
-
[解決済み] SQLZOO - select from world チュートリアル #13
-
[解決済み] MySQLにおけるOracleのRowIDに相当する。
-
[解決済み] JDBC経由でMySQLにUTF-8を挿入しようとすると、"不正な文字列値 "と表示される?
-
[解決済み] ローカルマシンからリモートDBをmysqldumpする方法
-
[解決済み] MySQLクエリ GROUP BY 日/月/年
-
[解決済み] #1136 - 列数が 1 行目の値数と一致しません。