MYSQL Obtenez de l'enregistrement avec la valeur la plus basse | View SÉLECTIONNEZ contient une sous-requête dans la clause from
J'ai travaillé sur cette question, et c'est me rend fou.
J'ai une table produit, et une table avec des sous-produits.
En bref, je veux créer une vue avec les données de produit, et le plus bas (remise) prix des sous-produits. (Pensez à une chemise, avec plusieurs sous-produit (couleurs/tailles), etc)
Deuxièmement, je veux utiliser cette requête en VUE et que cette partie est me rend fou.
La requête que j'ai maintenant:
SELECT m.* from product_items m join
(select product_id, min(price_discount) md
from product_items group by product_id) mm
on m.product_id=mm.product_id and m.price_discount=md
Cette requête fonctionne et j'obtiens de bons résultats. Mais maintenant, je veux créer une vue (vw_product_lowest).
Et puis l'erreur: ERROR 1349 (HY000): View's SELECT contains a subquery in the FROM clause
Quelqu'un peut m'aider à les transformer en une requête pour un AFFICHAGE compatible avec la requête? Merci!
OriginalL'auteur SativaNL | 2013-03-09
Vous devez vous connecter pour publier un commentaire.
Selon le manuel,
VIEW
ne peut pas contenir de sous-requête. Si vous voulez vraiment créer uneVIEW
sur votre requête, vous devez créer une vue séparée pour votre sous-requête, exPremière VUE
Second point de VUE
À la requête de la VUE PRINCIPALE,
Une définition de la vue est soumise aux restrictions suivantes: DE MANUEL MySQL
Ne sont pas vues imbriquées sorte de terrible pour des raisons de performances?
OriginalL'auteur John Woo
Vous avez un peu d'options:
Mettre la sous-requête en vue (peut-être lente, que le résultat de l'affichage n'a pas d'indices sur lesquels effectuer des jointures):
Utiliser un sous-requête en corrélation (peut également être lent, comme la sous-requête doit être évalué pour chaque enregistrement de la table - meilleur rendement sera atteint avec un indice composite sur
(product_id, price_discount)
):Optimiser la sous-requête en corrélation à l'aide de l'option
EXISTE
stratégie (bénéficiera également d'un indice composite sur(product_id, price_discount)
):OriginalL'auteur eggyal