[解決済み] mysqlで同じテーブルを2回結合するには?
質問
私は2つのテーブルを持っています。1つ(ドメイン)は、ドメインID、ドメイン名(dom_id、dom_url)を持っています。
もう1つは実際のデータを含み、そのうちの2つの列はTOとFROMのドメイン名を必要とします。だから私は2つの列rev_dom_fromとrev_dom_forを持って、その両方がドメインテーブルから、ドメイン名IDを格納します。
シンプルです。
次に、Web ページに両方のドメイン名を実際に表示する必要があります。LEFT JOIN domains ON reviews.rev_dom_for = domains.dom_url クエリによって、どちらか一方を表示する方法は知っていますが、次に dom_url をエコー出力し、それによって rev_dom_for 列でドメイン名をエコー出力します。
しかし、どのようにして、dom_rev_from列に、2番目のドメイン名をエコーアウトさせるのでしょうか?
どのように解決するには?
の場合は、別の結合を使用します。
SELECT toD.dom_url AS ToURL,
fromD.dom_url AS FromUrl,
rvw.*
FROM reviews AS rvw
LEFT JOIN domain AS toD
ON toD.Dom_ID = rvw.rev_dom_for
LEFT JOIN domain AS fromD
ON fromD.Dom_ID = rvw.rev_dom_from
EDIT :
あなたがしていることは、テーブルを複数回結合することです。 投稿のクエリを見てください。レビューテーブル(rvwとしてエイリアス)から値を選択し、そのテーブルはドメインテーブルへの2つのリファレンス(FORとFROM)を提供します。
この時点で、DomainテーブルをReviewsテーブルに左結合することは簡単なことです。FORに一度(toDと呼ばれる)、FROMに二度(fromDと呼ばれる)です。
次にSELECTリストで、DOMAINテーブルの両方のLEFT JOINSからDOM_URLフィールドを選択し、Domainsテーブルを参照して結合したそれぞれのテーブルエイリアスで参照し、それらをToURLとFromUrlとしてエイリアスを設定します。
SQL におけるエイリアスの詳細については、以下を参照してください。 を参照してください。 .
関連
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?
-
[解決済み] MySQL で特定のカラム名を持つすべてのテーブルを見つけるにはどうすればよいですか?
-
[解決済み] MySQLです。大きなVARCHARとTEXTの比較?
-
[解決済み】MySQLのDatetimeカラムにデフォルト値を設定する方法とは?
最新
-
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におけるvarcharの日付比較とソートの実装
-
MySQL演算子(and, or, in, not)の具体的な使用方法
-
MySQLはこのようなUpdateステートメントを書くべきではありません
-
[解決済み] 親の行を削除または更新できない:外部キー制約が失敗する
-
[解決済み】文字列からuniqueidentifierに変換する際に変換に失敗する - 2つのGUIDの場合
-
MySQLにおけるvarchar型とchar型の違い
-
SQL Server のトランザクションは、try キャッチに記述しなければ、中間ステートメントがエラーを報告してもコミットされます。
-
Unknown character set.を解決する。MySQLデータベースインポート時の'utf8mb4'エラーの解消
-
[解決済み] SQLを使用してSUMとSUBTRACTを行うには?
-
[解決済み] Mysqlでidを使用してテーブルから多くの行を削除する