У меня есть две колонки из таблицы; fromid и toid , которые иногда содержат один и тот же идентификатор пользователя.
У меня также есть выпадающий список выбора, который выбирает все идентификаторы из обоих этих столбцов.
Моя проблема заключается в том, что раскрывающийся список выбирает всех пользователей, но также дублируется, когда один пользователь находится в обоих столбцах.
То, что я хотел бы, это выбрать только пользователя один раз и дать одному из столбцов приоритет или MAX (верно?), Если пользователь появляется в обоих столбцах. Вот код, который у меня есть:
$sql="
SELECT
DISTINCT u.".($config->realnames ? "name" : "username")." AS displayname,
u.id
FROM
(#__users AS u
INNER JOIN
#__uddeim AS um
ON
u.id=um.fromid)
WHERE
um.toid=".(int)$myself."
AND
um.totrash=0
AND
`um`.`delayed`=0".$filter."
UNION ALL
SELECT
DISTINCT u.".($config->realnames ? "name" : "username")." AS displayname,
u.id
FROM
(#__users AS u
INNER JOIN
#__uddeim AS um
ON
u.id=um.toid)
WHERE
um.fromid=".(int)$myself."
AND
um.totrashoutbox=0".$filter."
AND um.systemflag=0";
ЧТО Я ПРОБОВАЛ -
Я пытался использовать запрос на подсчет, но это не сработало:
if (count ($row->displayname > 1))
echo "duplicate rows";