假设我正在将Shoes
表加入Clothes
表,它们都有一个名为ShoesID
的列,所以对我来说,加入这两个表是有意义的。 ShoesID
(它也恰好是Shoes
表的主键)。但是这是我的问题,它不是Clothes
表的主键,所以在Clothes
表中,ShoesID
列中,有些行会重复,这会破坏我的连接。
有没有办法解决这个问题?
Clothes Table ClothesID ShoesID NakedVarchar 99 |1 | e| 100 |1 | f| 101 |4 | g| 102 |4 | d| I want to join this to this: Shoes Table ShoesID Descriptionvarchar |1 | a| |2 | b| |3 | c| |4 | d|
所以我认为这样做的逻辑方法是做
LEFT JOIN Clothes ON Shoes.ShoesID = Clothes.ShoesID
不幸的是,因为衣服表包含重复,似乎Postgres将它们切掉了, 我想要加入所有数据,包括重复数据,我该如何解决这个问题呢?
它并不像倒转我的连接语句那么简单,因为我在技术上试图加入它们 有许多其他联接的查询。
答案 0 :(得分:1)
你可以进行任何你想要的连接,甚至是“自我加入”,但如果关键字之间没有巧合或匹配,你的查询可能是空的。如果要列出所有内容,则应使用UNION而不是连接。