如何把SQL查询出来的2个表合并?

SELECT

订单ID,b.`公司名称`

FROM

`订单` AS a

LEFT JOIN `运货商` AS b ON a.`运货商` = b.`运货商ID`

where `订单ID` in (10248,10254);

image.png

SELECT

`订单ID`,`产品名称`

FROM

订单明细 AS a

LEFT JOIN

`产品` as b

ON a.`产品ID`=b.`产品ID`

where `订单ID` in (10248,10254)

image.png

soulgou 发布于 2021-1-15 14:43
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-1-15 14:46
SELECT
*
FROM
(
SELECT
订单ID,
b.`公司名称`
FROM
`订单` AS a
LEFT JOIN `运货商` AS b ON a.`运货商` = b.`运货商ID`
WHERE
`订单ID` IN (10248, 10254)
) a
FULL JOIN (
SELECT
`订单ID`,
`产品名称`
FROM
订单明细 AS a
LEFT JOIN `产品` AS b ON a.`产品ID` = b.`产品ID`
WHERE
`订单ID` IN (10248, 10254)
) b ON a.订单ID = b.订单ID


最佳回答
0
张洪威Lv6高级互助
发布于2021-1-15 14:45(编辑于 2021-1-15 14:46)

你如果是需要返回ID,产品,公司三列,那把两个子查询left join 就行了。

最佳回答
0
krystal033Lv7高级互助
发布于2021-1-15 14:46(编辑于 2021-1-15 14:53)
select a.* ,b.产品名称 from 
(
SELECT	订单ID,b.`公司名称`FROM	`订单` AS aLEFT JOIN `运货商` AS b ON a.`运货商` = b.`运货商ID`where `订单ID` in (10248,10254    
) a
left join 
(
SELECT
	`订单ID`,`产品名称`
FROM
	订单明细 AS a
LEFT JOIN
`产品` as b
ON a.`产品ID`=b.`产品ID`
where `订单ID` in (10248,10254)
) b on a.订单ID =b.订单ID


最佳回答
0
杰杰1108Lv6初级互助
发布于2021-1-15 14:49

个人觉得union all就能满足需求吧

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