Php 对别名执行mySQL搜索

Php 对别名执行mySQL搜索,php,mysql,Php,Mysql,如何正确地搜索别名 在下面的代码中,我创建了一个名为USER的别名,在此列中我收集了DE和PARA列中的所有值 (SELECT *, de as user FROM mensagens WHERE user = '1' GROUP BY projeto ORDER BY data DESC) UNION (SELECT *, para as user FROM mensagens WHERE user = '1' GROUP BY projeto ORDER BY data DESC)

如何正确地搜索别名

在下面的代码中,我创建了一个名为USER的别名,在此列中我收集了DE和PARA列中的所有值

(SELECT *, de as user FROM mensagens WHERE user = '1' GROUP BY projeto ORDER BY data DESC)
    UNION
(SELECT *, para as user  FROM mensagens WHERE user = '1' GROUP BY projeto ORDER BY data DESC)
SQL online:

您可以这样做

select * from 
(
  SELECT *, de as user FROM mensagens
  UNION
  SELECT *, para FROM mensagens
) tmp
where user = 1
GROUP BY projeto 
ORDER BY data DESC
或者更简单:

SELECT * 
FROM mensagens
WHERE 1 in (de, para)
GROUP BY projeto 
ORDER BY data DESC

其中de='1'别名实际上是在查询过程的稍后阶段创建的,因此您不能在此处使用它们。您不能在WHERE子句中使用列的别名。是的,您可以。把它们包起来parentheses@RiggsFolly当前位置我无法使它工作。似乎别名仅在SELECT子句中可重用,但在以下位置不可重用:-