6

イベントの行を含むテーブルがあり、それぞれに(他の多くのフィールドの中で)、、がaddedbyuserありeditedbyuserdeletedbyuser 特定のユーザーにテーブルをINT参照します。usersフィールドの1つ(たとえばaddedbyuser)に問題なく参加できますが、残りのフィールドに参加してphpで参照するにはどうすればよいですか?

イベントテーブル:

eventid addedbyuser editedbyuser deletedbyuser
1       1           2            3

ユーザーテーブル:

id username
1  name1
2  name2
3  name3

基本的に、記事を追加、編集、削除した人の名前を表示したいのですが、これを1つのSQLクエリで実行できますか?

4

1 に答える 1

16

このようなもの:

select 
    evn.eventid, 
    us1.username as addedbyuser, 
    us2.username as editedbyuser, 
    us3.username as deletedbyuser, 
from events evn
    join users as us1 on
        evn.addedbyuser = us1.id
    join users as us2 on
        evn.editedbyuser = us2.id
    join users as us3 on
        evn.deletedbyuser = us3.id
于 2011-06-10T03:31:46.883 に答える