Php 对别名执行mySQL搜索
如何正确地搜索别名 在下面的代码中,我创建了一个名为USER的别名,在此列中我收集了DE和PARA列中的所有值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)
(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子句中可重用,但在以下位置不可重用:-