weixin_42180541
weixin_42180541
采纳率33.3%
2020-07-03 12:07

求问如何用SQL实现,两个不相关的表数据自动填充成一张表?

已采纳

工作中有遇到想利用类似情况进行统计,不对原表进行修改
表A数据如
id:
A,
B,
C,
D,
E,
F,
G
表B数据为
date:
2020-01-01,
2020-01-02,
2020-01-03,

想实现查询结果为如下:
id date
A, 2020-01-01
A, 2020-01-02
A, 2020-01-03
B, 2020-01-01
B, 2020-01-02
B, 2020-01-03
C, 2020-01-01
C, 2020-01-02
C, 2020-01-03
... ...

想知道有方法可以实现么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • marty535 marty535 9月前

    select t1.id,t2.date from (select id,"" as t from A) t1 left join (select name,"" as t from B) t2 on t1.t=t2.t order by t1.id,t2.date asc;

    定义一个虚拟字段就可以了,但是这样查询效率很差,不建议这样做,如果要做也只限制在表只有几十行以内的数据,如果数据太大还是建议在业务逻辑中做。

    点赞 评论 复制链接分享
  • qq_41897431 岸屿 9月前

    可以用笛卡尔积吧,相当于两个表中的所有行进行排列组合。若表a有X行,表b有Y行,则将返回XY行记录。

    点赞 评论 复制链接分享