我有两张桌子需要连接在一起。但是,我只想在存在独特匹配时连接记录,而不是选择多个匹配之一进行连接。
使用 MariaDB 版本 10.3.34
核心(左)数据towns
| ID | 镇 | 邮政编码 |
|---|---|---|
| 1 | 哈德菲尔德 | HD11 4ER |
| 2 | 曼彻斯特 | MN14 3JE |
| 3 | 麦克尔斯菲尔德 | MK17 9FL |
| 4 | 爱丁堡 | ED5 3MJ |
| 5 | 利物浦 | LV9 8XT |
连接(右)数据peoples:
| ID | 名字 | 邮政编码 |
|---|---|---|
| 1 | 吉米·萨维尔 | HD11 4ER |
| 2 | 贾森·邦姆 | IP14 8FK |
| 3 | 米奇老鼠 | MK17 9FL |
| 4 | 鲍比·迪利安 | ED5 3MJ |
| 5 | 莱尼·戴维斯 | ED5 3MJ |
我最初的查询是这样的:
SELECT towns.id, towns.town, peoples.name FROM towns
LEFT JOIN people ON towns.postcode = peoples.postcode
Run Code Online (Sandbox Code Playgroud)
但这将包括Edinburgh但爱丁堡有两个人,我只想在有一个独特的排可以加入时加入。
我使用 LEFT join 因为我需要返回 …