Interroger une colonne et un calcul de colonnes en même temps PostgreSQL
-
19-09-2019 - |
Question
J'ai deux tables, Products
et BundleProducts
qui ont un lien avec O2O BaseProducts.
Un BundleProduct
est une collection de Products
utilisant une relation m2m à la table de Products
.
Products
a une colonne de price
et le prix d'un BundleProduct
est calculé comme la somme des prix de ses Products
.
BaseProducts
avoir des colonnes comme name
et description
afin que je puisse l'interroger pour obtenir les deux Products
et BundleProducts
.
Est-il possible d'interroger et sort by price
tant pour la colonne price
du Products
et price
calculée du BundleProducts
?
La solution
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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow