почему не получается удалить дубликаты postgresql
есть такая таблица следующего вида:
| "Date" | "Trade_ID" | "tovar_ID" |
|---|---|---|
| 2021-04-10 | склад1 | огурцы |
| 2021-04-10 | склад2 | огурцы |
| 2021-04-10 | склад3 | огурцы |
| 2021-04-10 | склад1 | помидоры |
| 2021-04-10 | склад2 | помидоры |
| 2021-04-10 | склад3 | груши |
| 2021-04-10 | склад2 | огурцы |
| 2021-04-10 | склад3 | огурцы |
| 2021-05-10 | склад1 | огурцы |
| 2021-05-10 | склад2 | огурцы |
| 2021-05-10 | склад1 | огурцы |
| 2021-05-10 | cклад3 | груши |
| 2021-05-10 | cклад2 | помидоры |
| 2021-05-10 | cклад1 | помидоры |
| 2021-05-10 | cклад1 | огурцы |
| 2021-06-10 | cклад1 | сливы |
| 2021-06-10 | cклад1 | сливы |
| 2021-07-10 | cклад1 | сливы |
| 2021-07-10 | cклад1 | сливы |
| 2021-08-10 | cклад1 | сливы |
| 2021-08-10 | cклад1 | сливы |
на основании этой таблицы хочу сделать комбинацию уникальных пересечений,однако cross join создает дубликаты для слив? как не странно по остальным все в порядке. как это поправить ?
вот запросик:
with
uniq_1 as (select distinct "Trade_ID" as q
from test_table_12),
uniq_2 as (select distinct "Tovar_ID" as s
from test_table_12)
select u_2.s,
u_1.q
from uniq_2 u_2
cross join uniq_1 u_1
where u_2.s > u_1.q
и что выдается:
| s | q |
|---|---|
| огурцы | cклад3 |
| огурцы | cклад2 |
| огурцы | cклад1 |
| груши | cклад3 |
| груши | cклад2 |
| груши | cклад1 |
| помидоры | cклад3 |
| помидоры | cклад2 |
| помидоры | cклад1 |
| сливы | cклад3 |
| сливы | cклад2 |
| сливы | склад3 |
| сливы | склад1 |
| сливы | склад2 |
| сливы | cклад1 |