У меня есть две таблицы - Warehouse (id) и StockLevel (id, productCode).
В магазине много StockLevels.
Я хочу найти дубликаты StockLevel для одного и того же продукта в одном магазине.
Пример: на складе "Минимаркет" есть две записи StockLevel для продукта "Apple".
Пока у меня есть это, но я не уверен, что он работает правильно:
select {wh.code}, {sl.productCode}, count({sl.pk}) as cnt
from {StockLevel as sl
left join Warehouse as wh on {sl.warehouse}={wh.pk}}
group by ({wh.code}, {sl.productCode})
having count({sl.pk}) > 1
| id | productCode | warehouse |
--------------------------
| 1 | "apple" | "mini" |
--------------------------
| 2 | "apple" | "mini" |
--------------------------
| 3 | "apple" | "maxi" |
--------------------------
| 4 | "apple" | "macro" |
--------------------------
| 5 | "orange" | "mini" |
--------------------------
Я хочу, чтобы была выбрана одна из первых двух записей (Id 1 и 2) (мне на самом деле все равно, какая из них).
Также у меня возникла проблема - если я использую этот запрос в FlexibleSearch, яне может привести его к сущности (StockLevel) и добавить {sl.pk} для запроса его повреждения.