[解決済み] MySQLで「一意のテーブル/エイリアスでない」場合
2022-01-25 20:56:28
質問
以下のコードでは テーブル/エイリアスが一意でない:'presentations'
この件に関するいくつかの記事を読み、解決策はテーブルにエイリアスを使用することだと確信しました。ただ、エイリアスをどのように作成するのか、どこに追加すればいいのかがわかりません。
どなたか解説していただけませんか?
ありがとうございました。
SELECT categories.name, categories.sub_name, parts.name
FROM categories
INNER JOIN presentations
ON categories.id=presentations.category
INNER JOIN presentations
ON parts.id=presentations.parts
WHERE presentations.id=5;
解決方法は?
同じテーブルを2回結合しているので、一意の別名が必要です。しかし、あなたは以下のものを探しているようです。
parts
テーブルと結合する必要があります。
SELECT
categories.name,
categories.sub_name,
parts.name
FROM categories
INNER JOIN presentations ON categories.id=presentations.category
INNER JOIN parts ON parts.id=presentations.parts
WHERE presentations.id=5;
読みやすくするために、次のような短い別名を付けることができます。
select
c.name,
c.sub_name,
p.name as parts_name
from categories c
join presentations pr on pr.category = c.id
join parts p on p.id = pr.parts
where pr.id = 5
関連
-
[解決済み] テーブル 'performance_schema.session_variables' は存在しません。
-
[解決済み] MySQLの更新datetimeフィールド
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] パラメータを取るBashのエイリアスを作る?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?
-
[解決済み】MySQLのテーブル、インデックス、データを複製する
最新
-
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で「一意のテーブル/エイリアスでない」場合
-
[解決済み] MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
[解決済み] mysql 拡張は非推奨で、将来的に削除されます: 代わりに mysqli か PDO を使ってください [重複] 。
-
[解決済み] JDBC経由でMySQLにUTF-8を挿入しようとすると、"不正な文字列値 "と表示される?
-
[解決済み] whereステートメントによるmysqlの一括更新
-
[解決済み] MySQLです。テーブルを作成できません (errno: 150)
-
[解決済み] この操作を行うには、少なくとも1つのSUPER権限が必要です。
-
[解決済み] 各単語の最初の文字を大文字にする(既存のテーブルの場合
-
[解決済み] MySQLから最後のN行を選択する
-
[解決済み] mysql サーバーがクラッシュした -mysqld got signal 6