With xxdemo_tab As(
Select 1 person_id, 'Alice' first_name, 'Jones' last_name From dual Union All
Select 2 person_id, 'Bob' first_name, 'Smith' last_name From dual Union All
Select 3 person_id, 'Charles' first_name, 'Walker' last_name From dual Union All
Select 4 person_id, 'Dave' first_name, 'Simpson' last_name From dual Union All
Select 5 person_id, 'Elaine' first_name, 'Andrews' last_name From dual
)
Select x1.person_id, x2.first_name, x3.last_name From
(Select Row_Number() Over (Order By dbms_random.value) n, person_id From xxdemo_tab) x1,
(Select Row_Number() Over (Order By dbms_random.value) n, first_name From xxdemo_tab) x2,
(Select Row_Number() Over (Order By dbms_random.value) n, last_name From xxdemo_tab) x3
Where x1.n=x2.n
And x2.n=x3.n
Order By person_id
PERSON_ID | FIRST_NAME | LAST_NAME | 1 | Alice | Smith | 2 | Bob | Jones | 3 | Charles | Simpson | 4 | Dave | Andrews | 5 | Elaine | Walker |
---|
With xxdemo_tab As(
Select 1 person_id, 'Alice' first_name, 'Jones' last_name From dual Union All
Select 2 person_id, 'Bob' first_name, 'Smith' last_name From dual Union All
Select 3 person_id, 'Charles' first_name, 'Walker' last_name From dual Union All
Select 4 person_id, 'Dave' first_name, 'Simpson' last_name From dual Union All
Select 5 person_id, 'Elaine' first_name, 'Andrews' last_name From dual
)
Select person_id, first_name, last_name
From xxdemo_tab
Model
Dimension By (Row_number () Over (Order By person_id) idx)
Measures (person_id, first_name, last_name)
Rules Automatic Order
(first_name [idx] = first_name[Round(Dbms_Random.Value(1,5))]);