The following code generates 100000 rows with random values for the Id column with uuid_generate_v4(). However, the nested selects are always choosing the same row so all the inserted rows have the same values for those columns. The goal is to create a table with 100k rows with random values taken from the other sample tables. Each of the sample tables only have two columns (Id and the column from which the values are taken). How can this be archived?
insert into "Tag" (
"Id", "Time", "Account", "Name", "Value", "RollUpTableId"
)
select
uuid_generate_v4(),
current_timestamp,
(select "Account" from "AccountSamples" OFFSET floor(random()*358) LIMIT 1),
(select "Name" from "TagNameSamples" OFFSET floor(random()*19) LIMIT 1),
(select "Value" from "TagValueSamples" OFFSET floor(random()*26) LIMIT 1),
uuid_generate_v4()
from generate_series(1, 100000);
I've also tried with select "Account" from "AccountSamples" where "Id" = (trunc(random() * 358)::integer)