1

クエリの 1 行で 2 つのユーザー名を選択しようとしています。1 つは「username」、2 番目は「username2」と呼ばれます。これは私が持っているコードです。users テーブルは、user_id の主キーを使用します。

SELECT
  r.report_id,
  r.poster_id,
  r.reporter_id,
  u.username,
  (2nd username)
FROM reports r,
  users u
WHERE r.report_id = :report_id
    AND r.reporter_id = u.user_id
    AND r.poster_id = u.user_id
4

2 に答える 2

2

userテーブルに2回参加する必要があります

SELECT 
        r.report_id,
        r.poster_id,
        r.reporter_id,
        u.username AS ReporterName,
        b.userName as PosterName
FROM
        reports r
        INNER JOIN users u      
            ON r.reporter_id=u.user_id
        INNER JOIN users b
            ON r.poster_id=b.user_id
WHERE
        r.report_id=:report_id
于 2013-01-21T08:20:28.243 に答える
1

これがMySQLのコードです

        SELECT
          r.report_id,
          r.poster_id,
          r.reporter_id,
          u.username,
          u.username username2,
        FROM reports r,
          users u
        WHERE r.report_id = :report_id
            AND r.reporter_id = u.user_id
            AND r.poster_id = u.user_id
于 2013-01-21T08:26:11.833 に答える