我有两个表,一个名为A,另一个名为B,我想从表A中随机添加一个不同的行到表B的每一行。表之间没有cummon字段。“
我竭力做到:
select idA,idB
from A,(select idB
from B
Order by dbms_random.random
fetch first 1 row only)
字符串
但是,select在'from'中只执行过一次。因此,我从表B中得到了相同的行,而表A中的所有行都是相同的行。
- 谢谢-谢谢
1条答案
按热度按时间zrfyljdw1#
可以使用横向连接。通过
dbms_random.random
函数猜测您正在使用Oracle数据库。在Oracle中,您可以执行以下操作:
字符串
注意:要对每一行运行横向连接,需要从它到主表产生一个“依赖”。在这种情况下,我们可以通过添加
+ A.idA * 0
来欺骗Oracle;这没有任何副作用,除了Oracle认为横向行依赖于主行。请参阅running example。