I've done this before, but I don't remember how. I need to select all rows with unique values from several columns in one table, and insert them into one column in a different table. For the destination table they need to be on separate rows in the destination column.
Here's an example:
Source Table
+-----+------------+------------+------------+------------+
| id | column1 | column2 | column3 | column4 |
+-----+------------+------------+------------+------------+
| 1 | value1 | value1 | value1 | value1 |
+-----+------------+------------+------------+------------+
| 2 | value2 | value3 | value4 | value5 |
+-----+------------+------------+------------+------------+
Destination Table
+-----+-----------+
| id | column1 |
+-----+-----------+
| 1 | value1 |
+-----+-----------+
| 2 | value2 |
+-----+-----------+
| 3 | value3 |
+-----+-----------+
| 4 | value4 |
+-----+-----------+
| 5 | value5 |
+-----+-----------+
I tried this query but of course it didn't work because the columns aren't equal.
INSERT INTO table2 (column1)
SELECT DISTINCT column1, column2, column3, column4
FROM table1
Best Answer
Try with union