0
的隨機行中複製數據我有兩個表,stuff
和nonsense
。PostgreSQL的:從另一個表
create table stuff(
id serial primary key,
details varchar,
data varchar,
more varchar
);
create table nonsense (
id serial primary key,
data varchar,
more varchar
);
insert into stuff(details) values
('one'),('two'),('three'),('four'),('five'),('six');
insert into nonsense(data,more) values
('apple','accordion'),('banana','banjo'),('cherry','cor anglais');
見http://sqlfiddle.com/#!17/313fb/1
我想隨機值複製從nonsense
到stuff
。 SQL Server Copy Random data from one table to another:我可以用回答我剛纔的問題單個值做到這一點
update stuff
set data=(select data from nonsense where stuff.id=stuff.id
order by random() limit 1);
不過,我想從同一行復制多個值(data
和more
),和子查詢當然不會讓我這樣做。
我微軟SQL,我可以使用以下命令:
update stuff
set data=sq.town,more=sq.state
from stuff s outer apply
(select top 1 * from nonsense where s.id=s.id order by newid()) sq
我已閱讀,PostgreSQL使用類似LEFT JOIN LATERAL
代替OUTER APPPLY
,但簡單地替代並不爲我工作。
我怎麼能與多個值從另一個表中的隨機行更新?