У меня есть таблица с 3 столбцами, как в примере ниже.
Все строки имеют уникальный идентификатор продукта, но есть дубликаты идентификатора клиента и имени продукта вместе. Я хочу выбрать только 1 запись каждого дубликата в новую таблицу со всеми 3 столбцами. Итак, из строк ниже я хочу поместить строки 1 и 3 в новую таблицу.
productid(guid) customerid productname
4362C96D-B413-EA11-A811-000D3A25C7C2 12345678910 credit
C7EC397D-04BF-E611-80EE-005056A027F8 12345678910 credit
F796026C-B413-EA11-A811-000D3A25C942 24681012141 leasing
7490976F-B413-EA11-A811-000D3A25C7C6 24681012141 leasing
Я использую этот SQL для выбора всех повторяющихся строк в новую таблицу:
SELECT p.productid, p2.customerid, p2.productname
INTO tempTable
FROM products AS p
JOIN (SELECT customerid, productname
FROM products
GROUP BY customerid, productname
HAVING COUNT(productname)>1) AS p2
ON p.customerid = p2.customerid AND p.productname= p2.productname
ORDER BY p.customerid, p.productname
Этот SQL работает без productid, но не найдет дубликатов, если я добавлю productid, который является уникальной строкой pr.
SELECT customerid, productname
FROM testtable
GROUP BY customerid, productname
HAVING COUNT(productname) > 1
ORDER BY customerid
| 12345678910 | credit |
| 24681012141 | leasing |
Как я могу запросить эти данные, чтобы выбрать только 1 из каждой повторяющейся строки?