Как я могу получить все значения, используя столбец наоборот из базы данных в mySql - PullRequest
0 голосов
/ 26 марта 2020

Я хочу получить данные, используя столбец наоборот из базы данных в mySql База данных.

Например, см. Следующее изображение. enter image description here

На изображении выше вы видите имя столбца initiator_user_id & friend_user_id столбец, поэтому я хочу, чтобы все те friends_user_id and initiator_user_id, которые являются хранится в обеих колонках. Итак, здесь 1 хранится в обоих столбцах, поэтому я хочу 89,63,155 идентификаторов, которые хранятся в обоих столбцах.

Я попытался получить запись, используя оператор 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

Кто-то, пожалуйста, дайте мне знать, Как я могу получить эти записи?

Ответы [ 2 ]

1 голос
/ 26 марта 2020

Несколько способов сделать это - я быстро собрал оператор UNION DISTINCT для sqlfiddle , который может помочь. По сути, это просто два запроса и их объединение, чтобы получить ваши результаты.

(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)
0 голосов
/ 26 марта 2020

Я понимаю, что вы хотите получить пользователей и всех его друзей.

select initiator_user_id,GROUP_CONCAT(friend_user_id) as all_his_friends from (
select 
initiator_user_id,friend_user_id
from users
UNION 
select 
friend_user_id,initiator_user_id
from users ) t 
GROUP BY initiator_user_id

Вы можете попробовать поиграть с этим SQLfiddle: http://sqlfiddle.com/#! 9 / 642e1dc / 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...