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

求问如何用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 2020-07-03 12:44
    已采纳

    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;

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

    点赞 评论
  • 岸屿 2020-07-03 13:23

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

    点赞 评论

相关推荐 更多相似问题