You haven't mentioned what DBMS you are using; that would be useful. With PostgreSQL you achieve that by using the UNION construct, which is used to combine the result set of multiple SELECT statements:
SELECT id,column1 FROM "Table1" where id=column1
UNION
SELECT id,column2 FROM "Table1" where id=column2
UNION
SELECT id,column3 FROM "Table1" where id=column3;
However, this removes duplicates from the final result set. To also retrieve duplicates use the UNION ALL constrct:
SELECT id,column1 FROM "Table1" where id=column1
UNION ALL
SELECT id,column2 FROM "Table1" where id=column2
UNION ALL
SELECT id,column3 FROM "Table1" where id=column3;
One disadvantage with this approach is that you need as many select statements as there are columns. A second disadvantage is that your final result set will have the column labels of the first select statement (i.e. id, column1 in this example).