2010-03-12 7 views
0

J'ai deux tables, Products et BundleProducts qui ont une relation o2o avec BaseProducts. Un BundleProduct est un ensemble de Products utilisant une relation m2m avec le tableau Products. Products a une colonne price et le prix d'un BundleProduct est calculé comme la somme des prix de ses Products.Demander une colonne et un calcul de colonnes en même temps PostgreSQL

BaseProducts ont des colonnes comme name et description je peux l'interroger pour obtenir à la fois Products et BundleProducts.

Est-il possible d'interroger et sort by price tant pour la colonne price du Products et calculé price du BundleProducts?

Répondre

1

Essayez quelque chose comme ceci:

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