내가 MySQL은 데이터베이스에서 열 그 반대를 사용하여 모든 값을 얻을 수있는 방법

사미르 셰이크 :

내가 MySQL 데이터베이스에 데이터베이스에서 바이스 반대의 열을 사용하여 데이터를 얻을 싶어요.

예를 들어, 이미지를 다음을 참조하십시오. 여기에 이미지 설명을 입력

위의 이미지는 열 이름 볼 수 있습니다 initiator_user_id & friend_user_id 나는 모든 사람들 원하는 그래서, 열 friends_user_id and initiator_user_id두 컬럼에 저장되어 있는지를. 그래서 여기에 1내가 두 컬럼에 저장됩니다 89,63,155 ID를 할 수 있도록 두 열에 저장됩니다.

내가 사용 기록을 얻기 위해 노력했다 CASE의 문을했지만 작동하지 것이다.

SQL 쿼리 ..

 SELECT *,
CASE
    WHEN friend_user_id != '' THEN initiator_user_id 
    WHEN initiator_user_id != '' THEN friend_user_id 
    ELSE ''
END AS users_id
FROM tablename

사람이 어떻게 내가 그 기록을 얻을 수 알려 주시기 바랍니다?

아론 W. :

소수 가지 방법이 할 수있는 - 나는 빨리에 함께 UNION DISTINCT 문을 던졌다 sqlfiddle 5 월 도움이. 본질적으로 그것은 단지 두 개의 쿼리를 복용하고 당신에게 당신의 결과를 얻기 위해 그들을 함께 넣어.

(SELECT initiator_user_id as user_id FROM test WHERE friend_user_id = 1) 
UNION DISTINCT 
(SELECT friend_user_id as user_id FROM test WHERE initiator_user_id = 1)

추천

출처http://10.200.1.11:23101/article/api/json?id=373595&siteId=1