CROIX/EXTERNE s'APPLIQUENT dans MySQL
J'ai besoin d'utiliser la CROIX APPLIQUER dans MySQL (EC2, RDS instance MySQL).
Ressemble à MySQL de ne pas reconnaître la CROIX APPLIQUER la Syntaxe. Quelqu'un peut-il m'aider s'il vous plaît?
Voici la requête.
SELECT ORD.ID
,ORD.NAME
,ORD.DATE
,ORD_HIST.VALUE
FROM ORD
CROSS APPLY (
SELECT TOP 1 ORD_HISTORY.VALUE
FROM ORD_HISTORY
WHERE ORD.ID = ORD_HISTORY.ID
AND ORD.DATE <= ORD_HISTORY.DATE
ORDER BY ORD_HISTORY.DATE DESC
) ORD_HIST
Que
Vous pouvez jeter un oeil à ceci ou peut-être à ce. Le meilleur de la chance.
Mes excuses @BobJarvis, ont modifié la requête maintenant.
WHERE
clause semble discutable. Est-il censé être un AND
avant ORD.DATE
?Vous pouvez jeter un oeil à ceci ou peut-être à ce. Le meilleur de la chance.
Mes excuses @BobJarvis, ont modifié la requête maintenant.
OriginalL'auteur hoz | 2016-04-26
Vous devez vous connecter pour publier un commentaire.
Le plus proche de votre direct approximation est une jointure avec une sous-requête corrélée comme le prédicat.
Dans votre cas, cependant, vous avez seulement besoin d'un champ de la table cible. Cela signifie que vous êtes en mesure d'utiliser la sous-requête corrélée directement dans l'instruction SELECT.
OriginalL'auteur MatBailie
À partir de MySQL 8.0.14 vous pouvez utiliser
LATÉRALES
:Soutien LATÉRAL des tables dérivées ajouté à MySQL 8.0.14
Et dans ce cas:
OriginalL'auteur Lukasz Szozda