2017-02-24 8 views
-1

그래서 PHP와 MySQL을 사용하고 있습니다. 테이블 '알림'과 테이블 '사용자'가 있습니다. 알림은 보낸 사람과받는 사람을 제공합니다. 나는 약간의 조사를하고 몇 가지 일을 시도했지만 해결책을 찾지 못했습니다. 다음 SQL 쿼리를 통해 알림 데이터와받는 사람 데이터가 설정되지만, 하나의 쿼리에서 users 테이블의 보낸 사람 데이터를 어떻게 선택할 수 있습니까?하나의 SQL 쿼리를 사용하여 보낸 사람 (데이터)과받는 사람 (데이터)을 선택하는 방법은 무엇입니까?

SELECT notifications.id,notifications.recipient_id,notifications.sender_id,notifications.unread,notifications.type,notifications.parameters,notifications.created_at,users.id AS user_id,users.username 
FROM notifications, users 
WHERE users.id = notifications.recipient_id; 

답변

1
SELECT 
    notifications.id, 
    notifications.recipient_id, 
    notifications.sender_id, 
    notifications.unread, 
    notifications.type, 
    notifications.parameters, 
    notifications.created_at, 
    users1.id AS user_id_recipient, 
    users1.username AS username_recipient, 
    users2.id AS user_id_sender, 
    users2.username AS username_sender 
FROM notifications 
INNER JOIN users AS users1 ON users1.id = notifications.recipient_id 
INNER JOIN users AS users2 ON users2.id = notifications.sender_id 
+0

나는 다음과 같은 오류가 점점 오전 : –

+0

# 1064 - 당신은 당신의 SQL 구문에 오류가 있습니다; '.username_recipient, users2.id AS user_id_sender, users2.username AS'와 같이 가까운 구문을 사용하려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. –

+0

을 편집했습니다. 답변 내용으로 다시 시도하십시오. – TopCheese