0

How is the correct way to search for aliases?

In the code below, I am creating an alias called (USER), within this column I am gathering all the values in the column (DE) and (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: http://sqlfiddle.com/#!9/d506b7/2

RiggsFolly
  • 93,638
  • 21
  • 103
  • 149
Tiago
  • 797
  • 1
  • 10
  • 23

1 Answers1

1

You could do

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

SQLFiddle demo

Or even simpler:

SELECT * 
FROM mensagens
WHERE 1 in (de, para)
GROUP BY projeto 
ORDER BY data DESC
juergen d
  • 201,996
  • 37
  • 293
  • 362