데이터베이스 테이블에서 비디오를 가져 오려고합니다. 조건 : 사용자의 개인 정보 설정이보기를 제한하지 않는 경우에만 동영상을 포함해야합니다.조건부 MySQL 쿼리 - 결과의 프라이버시
비디오 표 :
개인 정보 보호가 될 수 0, 1, 2 또는 3
관계 테이블 :
것은 이제 나는 모든 동영상의 페이지를 싶어한다고 가정 해 봅시다 나는 친구가 아닌 사람들의 동영상을 포함해서는 안된다는 제한을두고있다. (나중에, "연락처"를 포함하도록이 쿼리를 확장해야합니다.)
조회해야 설정이 개인 정보 보호있는 모든 동영상 의미!
개인 정보 보호 = 0
개인 정보 보호 = 1 (프로필 비디오가 숨겨져 있습니다)
개인 정보 보호 = 3 및 나는를 이 회원의 친구 목록에
내 사용자 ID 내가이 네가 윌리엄 이니 시도 1.
입니다 나는 IF 문이 단지 쿼리의 선택 부분에서 사용할 수있는 가정
SELECT videos.*,
FROM `video_table` AS `videos`
WHERE
(
videos.privacy != 1
OR (
videos.privacy = 3
AND '1' IN (
SELECT friendslist.relationid
FROM friendslist
WHERE friendslist.userid = videos.userid
AND friendslist.friend = 'yes'
)
)
)
LIMIT 20
: 예,하지만 그것은 나에게 원하는 결과를 제공하지 않습니다?
의사 코드의 조회 : 모든 비디오를 선택 WHERE 개인 정보 보호 = 1 AND IF (개인 정보 보호 = 3)) 나는 모든 비디오를 보여줄 수있는 방법
을 {myuserid는 users_friendslist에 있어야합니다}하지만, 사람에서 사람을 제외! 나는 누구와 친구가 아니야?
비디오 테이블과 사용자 테이블은 어떤 관계가 있습니까? 사용자 테이블 스키마를 표시합니다. –
다른 사람들을 향한 기본적인 예의로서 당신을 도운다면 대답을 받아들이는 것을 잊지 마십시오 ... –