Simple answer: Yes
...But you have to use a secondary ordering
column and a nested inner select.
TableOne
ValColumn
+------+
| val1 |
+------+
| val3 |
+------+
| val5 |
+------+
| val2 |
+------+
| val4 |
+------+
SelectSetOne
rank ValColumn
+--------+----------+
| 1 | val1 |
+--------+----------+
| 2 | val3 |
+--------+----------+
| 3 | val5 |
+--------+----------+
| 4 | val2 |
+--------+----------+
| 5 | val4 |
+--------+----------+
TableTwo
ValColumn Col
+-----------+------+
| valN | .... |
+-----------+------+
Final Select
rank ValColumn Col
+--------+-----------+------+
| 1 | val1 | .... |
+--------+-----------+------+
| 1 | .... | .... |
+--------+-----------+------+
| 1 | val1 | .... |
+--------+-----------+------+
| 2 | val3 | .... |
+--------+-----------+------+
| 2 | .... | .... |
+--------+-----------+------+
| 2 | val3 | .... |
+--------+-----------+------+
| 3 | val5 | .... |
+--------+-----------+------+
| 3 | .... | .... |
+--------+-----------+------+
| 3 | val5 | .... |
+--------+-----------+------+
| 4 | val2 | .... |
+--------+-----------+------+
| 4 | .... | .... |
+--------+-----------+------+
| 4 | val2 | .... |
+--------+-----------+------+
| 5 | val4 | .... |
+--------+-----------+------+
| 5 | .... | .... |
+--------+-----------+------+
| 5 | val4 | .... |
+--------+-----------+------+
Here is the select statement:
SELECT
SelectSetOne.rank,
TableTwo.ValColumn,
TableTwo.*
FROM
(SELECT
rank=count(*),
ValColumn
FROM TableOne) as SelectSetOne,
INNER JOIN
TableTwo
ON SelectSetOne.ValColumn = TableTwo.ValColumn
ORDER BY
SelectSetOne.rank;