친구의 방문 장소 찾기 위해 세 개의 테이블 사이에 가입 :나는이 방법으로 만든 세 개의 테이블이
사용자
을 | id | 사용자 이름 | img | |
기본 키 ID는하지만 사용자 이름은 고유 키
이
매핑입니다 id | 사용자 이름 | 주소 |
기본 키는 id입니다. 방문한 다양한지도 (도시) 사용자가 포함되어 있습니다.
친구
| id | user_req | user_acc | 상태 |
기본 키는 id입니다. |
: 두 사용자가 상태가 1
내가, 내 친구가지도 한 결과가이 같은 튜플이 필요한 경우에만 친구 사용자 이름 | img | 주소 |
이름는
는 IMG 주소이 주소는
그녀의 프로필의 이미지입니다 그가해야
튜플을 방문한 장소 내 친구의 사용자 이름입니다 지도 테이블의 ID에 따라 내림차순으로 정렬됩니다.
나는 사용자의 친구를 찾을하는 데 사용되는 쿼리는 다음과 같습니다
SELECT *
FROM users
INNER JOIN friend ON (username = user_req)
WHERE (user_acc = ? AND status = 1)
UNION DISTINCT
SELECT *
FROM users
INNER JOIN friend ON (username = user_acc)
WHERE (user_req = ? AND status = 1)
?은 친구를 찾고 싶은 사용자입니다.
아무도 어떻게 해야할지 알고 있습니까? 고마워요
답장을 보내 주셔서 감사합니다. 귀하의 쿼리를 실행하면 다음 오류가 나타납니다 ** 테이블 'u'가 존재하지 않습니다 **. u를 사용자로 바꿀 때 u2 ..에 문제가 있습니다. ( – user3287827
Errr, oops. 사용자 테이블의 별명을 u로 지정하십시오.유를 넣어 둬서 사용자를 언급하는 것을 잊어 버렸습니다. 이제 해결되었습니다. – Kickstart