Можно ли объединить 2 таблицы, если в одной из них есть повторяющиеся значения в столбце, который объединяет? - PullRequest
0 голосов
/ 22 февраля 2012

скажем, я соединяю таблицу Shoes с таблицей Clothes, у них обоих есть столбец с именем ShoesID, поэтому для меня было бы целесообразно объединить эти 2 таблицы на 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 их обрезает, я бы хотел, чтобы все данные были объединены, включая дубликаты, как мне обойти это?

это не так просто, как отменить мой оператор соединения, как ятехнически пытаясь объединить их в большом запросе, который получил много других объединений.

1 Ответ

1 голос
/ 16 апреля 2012

вы можете сделать любое присоединение, которое вы хотите, даже «самостоятельное объединение», но если нет совпадения или совпадения между ключевыми словами, ваш запрос может быть пустым.если вы хотите перечислить их все, вы должны использовать UNION вместо объединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...