yes, it can be done from one table.
The key is using "GROUP BY" to get distinct results and to manufacture relationships between the results.
The first recordset to show provinces will be something like:
SELECT DISTINCT Province FROM tblName
the select list will use the province column for the value and the label
the next recordset will need to pull distinct city's, but also the province column to relate the city to the first select list:
SELECT Province, City FROM tblName GROUP BY City
In the Create Dynamic Array Behavior, set the Parent ID to the Province column, the child ID and Child name to the city column
this Dynamic array will be used for the second list by applying the populate list from array behavior to the onclick event of the first list.
the other recordsets will be created similarly selecting the Parent column and the Child column and using the GROUP BY clause to filter distinct results for the child column.