Я получаю UNION из двух запросов выбора, одна из запрашиваемых таблиц - это временная таблица, обеспечивающая вывод записей (так что таблица temp имеет ожидаемый результат для каждой даты но со значением по умолчанию 0 для столбца продажи выходной результатФильтрация дубликатов из результатов UNION на основе 2 столбцов
примера может быть что-то вроде этого:
ProductID | Product Desc | TransactionDate | Sale
1011021 | SD DOG | 2017-01-07 | 0
1011021 | SD DOG | 2017-01-07 | $17
1011021 | SD DOG | 2017-01-14 | 0
1011021 | SD DOG | 2017-01-14 | $15
1011021 | SD DOG | 2017-01-21 | $21
1011021 | SD DOG | 2017-01-28 | 0
1011021 | SD DOG | 2017-01-28 | $21
Союз удаляет дубликаты на основе строк, как я могу сделать это удалить дубликаты на основе PRODUCTID и transactionDate, удаляя дубликаты, где Sale 0?
--query ниже
SELECT transactionProducts.productID, products.productDesc, sum(salePrice) as Sale, transactionDate
FROM products LEFT JOIN transactionProducts on products.productID = transactionProducts.productID
LEFT JOIN transactions ON transactionProducts.transactionID = transactions.transactionID
LEFT JOIN productCategory on productCategory.productID = products.productID
LEFT JOIN categories on categories.categoryID = productCategory.categoryID
WHERE (transactionProducts.productID='123' AND transactions.transactionDate='2017-01-12'
Group by transactionProducts.productID, transactionDate
UNION select * from "temptable" group by productID, productDesc, Sale, transactionDate
ORDER BY transactionDate
Что произойдет, если оба значения 'Sale' равны нулю, или если оба не являются -нуль? –