使用两列创建Key并执行左连接SQL

问题描述 投票:0回答:1

我有两个表要进行左连接。

订购:

|身份证 |卡塔|回购 | Assc |

返回:

|身份证 | CATB |地址|苏民|

我需要在订单表上使用 ID+CATA 并在退货表上使用 ID+CATB 创建密钥。并在 Order 上执行 LEFT JOIN (Order LEFT JOIN RETURN)。 一次性完成此操作的最简单方法是什么?

将表1作为 (

选择*,

CONCAT(ID,CATB)作为密钥1

从返回

选择*,

CONCAT(SUPERPNR,CATA)作为关键,

来自

订购

按订单

左连接表1 上 CONCAT(order.ID, order.CATA)=table1.Key1

sql left-join composite-primary-key
1个回答
0
投票

我不确定我是否理解你的问题。为什么不简单地像您所描述的那样做一个

left join

select *
from Order ca
left join Return cb
   on (ca.id, ca.cata) = (cb.id, cb.catb);

根据您的数据库,它可能无法完全按原样工作,但您尚未指定您拥有的内容...

© www.soinside.com 2019 - 2024. All rights reserved.