#mysql #sql #join #foreign-keys #referential-integrity
#mysql #sql #Присоединиться #внешние ключи #ссылочная целостность
Вопрос:
У меня есть таблица со строками событий, и в каждом из них есть (среди множества других полей) addedbyuser
, editedbyuser
deletedbyuser
Есть INT
, и отсылает к users
таблице конкретного пользователя. Я могу присоединиться к одному из полей (скажем addedbyuser
) без каких-либо проблем, как мне присоединиться к остальным и ссылаться на них в php?
таблица событий:
eventid addedbyuser editedbyuser deletedbyuser
1 1 2 3
таблица пользователей:
id username
1 name1
2 name2
3 name3
Итак, в принципе, я хочу отобразить имена тех, кто добавил, отредактировал и удалил статью, могу ли я сделать это в одном SQL-запросе?
Ответ №1:
Что-то вроде этого:
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