У меня есть следующий SQL-запрос
SELECT "Item"."id",
"Item"."name",
"Item"."active",
"Item"."vendible",
"Item"."purchasable",
"Item"."type",
"Item"."listNetPrice",
"vendors"."id" AS "vendors.id",
"vendors->PartnerItems"."createdAt" AS "vendors.PartnerItems.createdAt",
"vendors->PartnerItems"."updatedAt" AS "vendors.PartnerItems.updatedAt",
"vendors->PartnerItems"."ItemId" AS "vendors.PartnerItems.ItemId",
"vendors->PartnerItems"."PartnerId" AS "vendors.PartnerItems.PartnerId",
"VatKey"."id" AS "VatKey.id",
"VatKey"."key" AS "VatKey.key"
FROM "overseer"."Item" AS "Item"
INNER JOIN ("overseer"."PartnerItems" AS "vendors->PartnerItems"
INNER JOIN "overseer"."Partner" AS "vendors" ON "vendors"."id" = "vendors->PartnerItems"."PartnerId")
ON "Item"."id" = "vendors->PartnerItems"."ItemId"
AND ("vendors"."id" = 1
OR "vendors"."id" = 2)
LEFT OUTER JOIN "overseer"."VatKey" AS "VatKey" ON "Item"."VatKeyId" = "VatKey"."id"
WHERE ("Item"."name" ilike '%%' OR "Item"."tariffNo" ilike '%%')
ORDER BY "Item"."id" ASC LIMIT 5 OFFSET 0
, который дает следующие результаты
У моих товаров может быть много партнеров (со многими-много ассоциации), если они связаны только с одним, у меня нет проблем, но если у одного элемента больше партнеров, возникает вышеупомянутая проблема.Один и тот же элемент выбирается несколько раз, я хочу, чтобы он отображался только один раз, не имеет значения, сколько у них партнеров.