如何在一个 "table" 的同一个自动生成的整数上连接多个表?

How can I join multiple tables on the same auto generated integer from one "table"?

我想创建一个随机 selected 交叉连接 table,它会自动递增自己的 ID 并在其上连接。 假设我的 table 看起来像这样。

Firstname, Lastname 

Hans      | Müller
Joachim   | Bugert

Address
City, Street, StreetNumber
Hamburg | Wandsbeckerstr. | 2
Berlin  | Konradstraße    | 13

现在我想使用自动生成的 ID 加入 tables,它们应该是随机的 selected。 最后的 table 应该是这样的

ID,Firstname,Lastname, City, Street, StreetNumber
1 |Hans|Bugert|Berlin|Wandsbeckerstr|2
2|Joachim|Müller|Hamburg|Konradstraße | 13

我已经尝试或使用过的:

这里我自动生成我想在

加入table的ID
select GENERATED_PERIOD_START as ID FROM SERIES_GENERATE_INTEGER(1,1,10)

问题是交叉连接和内部连接对我不起作用,因为它总是将所有内容与所有内容连接起来,或者它不是在同一 ID 上连接。

SELECT Person."Firstname", Person."Lastname", Address."City",Address."Street", Address."StreetNumber"

FROM 
(   select GENERATED_PERIOD_START as ID FROM SERIES_GENERATE_INTEGER(1,1,10)

) autoGenID
inner JOIN
(select "Firstname" ,"Lastname" FROM Person ORDER BY RAND()) Person

inner JOIN 
(select "City", "Street", "StreetNumber", FROM Address  ORDER BY RAND()) Address

JOIN ON autoGenID."ID"=?????

这是我的问题,我不能 select 随机数据和 select 我自动生成的 ID。

感谢您提供解决此问题的帮助或想法!

我想你想要:

SELECT p."Firstname", p."Lastname", a."City", a."Street", a."StreetNumber"
FROM (SELECT p.*,
             ROW_NUMBER() OVER (ORDER BY RAND()) as seqnum
      FROM Person p
     ) p JOIN
     (SELECT a.*,
             ROW_NUMBER() OVER (ORDER BY RAND()) as seqnum
      FROM Address a
     ) a
     ON p.seqnum = a.seqnum;