Есть таблица msgs
id from_id to_id msg
1 5 6 msg1
2 6 5 msg2
3 7 5 msg3
4 5 6 msg4
и users
id login
5 user5
6 user6
7 user7
Пользователь №5 отправил смску пользователю №6, а потом №6 отправил смску №5, если я сижу из под юзера №5, как мне вывести список тех, с кем общался, без повторений?
То есть я (юзер5) общался с:
юзер6
юзер7
Пробую так:
SELECT msg.id FROM msgs msg WHERE msg.from_id = 5 OR msg.to_id = 5;
Но выводит все полностью записи, 4шт.
А если группировать их по from_id или to_id - то получится так, что с другими юзерами не покажет...
А почему Вы указываете msg.id, если Вам нужен список пользователей, а не сообщений?
Правильный запрос выглядит так:
SELECT from_id FROM msgs WHERE to_id = 5
UNION
SELECT to_id FROM msgs WHERE from_id = 5;
Продвижение своими сайтами как стратегия роста и независимости