ホームページ  >  記事  >  データベース  >  テーブルを異なる列で 2 回結合して、ユーザー ID の代わりにユーザー名を表示する方法

テーブルを異なる列で 2 回結合して、ユーザー ID の代わりにユーザー名を表示する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-24 18:21:02368ブラウズ

How to Join a Table Twice on Different Columns to Display Usernames Instead of User IDs?

同じテーブルに異なる列で 2 回結合

質問:

ユーザーと苦情ユーザーが苦情を提起して解決できるテーブルが確立されています。苦情テーブルには、苦情申し立て者と解決者の両方の user_id が含まれます。目標は、双方の user_id の代わりにユーザー名を表示するクエリを作成することです。

答え:

ユーザー テーブルを異なる列で 2 回結合し、取得するにはユーザー名については、次のクエリを使用できます:

SELECT 
     complaint.complaint_text, 
     A.username AS OpenedBy, 
     B.username AS ClosedBy
FROM 
     complaint 
     LEFT JOIN user A ON A.user_id=complaint.opened_by 
     LEFT JOIN user B ON B.user_id=complaint.closed_by

このクエリでは:

  • LEFT JOIN 句を使用して、苦情テーブルとユーザー テーブルを 2 回結合します。
  • エイリアス A は最初の結合に使用され、苦情解決者のユーザー名を参照します。
  • エイリアス B は 2 番目の結合に使用され、苦情解決者のユーザー名を参照します。
  • ユーザー テーブルは、opened_by 列と Closed_by 列に基づいて苦情テーブルに結合され、関連するユーザー名を取得します。

以上がテーブルを異なる列で 2 回結合して、ユーザー ID の代わりにユーザー名を表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。