SQL问题

现有表A共三个字段:id,beforePacketId(前置附件包id),afterPacketId(后置附件包id),现有一条数据,假设beforePacketId的附件包里面有2个附件,afterPacketId的附件包里面有3个附件,请问如何查询可以得到如下图所示的3条数据image.png

Bobby18 发布于 2021-6-10 17:41
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
墨残烛Lv5初级互助
发布于2021-12-14 14:43(编辑于 2021-12-14 14:44)

SELECT

a.[ID],

b.[data] AS 前置附件,

c.[data] AS 后置附件 

FROM

A AS a

LEFT JOIN beforePacketId AS b ON a.[beforePacketId] = b.[ID]

LEFT JOIN afterPacketId AS c ON a.[afterPacketId] = c.[ID]

最佳回答
0
luojian0323Lv7资深互助
发布于2021-6-11 09:44

这个数据不是在一个数据库表里的吗?

最佳回答
0
szksi8Lv6见习互助
发布于2021-6-11 14:18

where条件 后面写  前置附件 in(‘值1’,‘值2’)

最佳回答
0
zsh331Lv8专家互助
发布于2021-12-14 14:31

SELECT DISTINCT

a.id,

b.后置附件,

c.前置附件

FROM

tab_dim a

LEFT JOIN beforePacket b ON a.beforePacketId = b.id

LEFT JOIN afterPacket c ON a.afterPacketId = c.id

WHERE

a.id = 470

————————————————————————

  • 5关注人数
  • 596浏览人数
  • 最后回答于:2021-12-14 14:44
    请选择关闭问题的原因
    确定 取消
    返回顶部