首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用项的测试数据生成多行

使用项的测试数据生成多行
EN

Stack Overflow用户
提问于 2021-11-04 09:38:51
回答 1查看 47关注 0票数 0

我使用这个SQL查询为表onboarding_tasks生成测试数据。

代码语言:javascript
复制
INSERT into onboarding_tasks (business_name, meta_title, status, task_type)
SELECT
    'Business name ' || id AS business_name,
    left (md5(random()::text), 10) AS meta_title,
    (ARRAY['NEW','IN_PROGRESS','COMPLETED'])[floor(random()*3)+1] AS status,
    (ARRAY['CHECK', 'TEST'])[floor(random()*3)+1] AS task_type
FROM generate_series(1,25) as g(id);

在第二个查询中,我使用id从第一个表onboarding_tasks生成测试数据。

代码语言:javascript
复制
INSERT into onboarding_task_item (title, task_id, onboarding_tasks)
SELECT
    left (md5(random()::text), 10) AS title,
    ot.id,
    generate_series(1,50) AS onboarding_tasks
FROM onboarding_tasks ot;

演示

现在,我只在表onboarding_task_item中生成1行。如何从onboarding_tasks生成每一行测试数据的4行表

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-04 10:37:20

只需使用CROSS JOIN调用结果集,这意味着结果集的所有记录都将与来自generate_series()的所有记录连接。

代码语言:javascript
复制
SELECT     
  left (md5(random()::text), 10) AS title,     
  ot.id,       
  generate_series(1,5) AS onboarding_tasks 
FROM onboarding_tasks ot 
CROSS JOIN generate_series(1,4);

如果需要生成的值,也可以这样做:

代码语言:javascript
复制
SELECT
    left (md5(random()::text), 10) AS title,
    ot.id,
    j.id AS gen_id
FROM onboarding_tasks ot
CROSS JOIN generate_series(1,4) j(id);

演示:db<>fiddle

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69837103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档