2010-03-12 2 views
0

У меня есть две таблицы: Products и BundleProducts, которые имеют отношение o2o к BaseProducts. A BundleProduct - это коллекция Products с использованием отношения m2m к таблице Products. Products имеет колонку price, а цена BundleProduct рассчитывается как сумма стоимости ее Products.Запросить столбец и вычислять столбцы одновременно PostgreSQL

BaseProducts имеют столбцы как name и description таким образом я могу запросить его, чтобы получить как Products и BundleProducts.

Можно ли запрашивать и sort by price как для price колонке Products и вычислил price в BundleProducts?

ответ

1

попробовать что-то вроде этого:

SELECT name, description, price 
FROM (
    SELECT name, description, price FROM products 
    UNION 
    SELECT bundle_products.name, bundle_products.description, sum(products.price) 
    FROM bundle_products 
    JOIN products on (<your join condition) 
    GROUP BY bundle_products.name, bundle_products.description 
) AS combined 
ORDER BY price