Bonjour à tous,
Je vous sollicite pour m'aider à optimiser une requête. Je m'en sers pour ramener des champs à afficher dans un report, pour impression. Mon problème est que j'atteinds le maximum de jointure autorisé par SQL server, à savoir 256.
Voici comment est modélisée la partie qui nous intéresse.
On parle de lots. A ces lots sont rattachées des propriétés. Une valeur est assignée pour chaque propriété et chaque lot.
table LOTS
LOT_ID
NOM
etc.
Table LOT_PROPRIETE
PROPRIETE_ID
LOT_ID
VALEUR
Ainsi, pour ramener les informations liées au lot + la valeur de chaque propriété, je passe mon temps, dans la requête, à faire des sous requêtes :
Sauf que j'ai tellement de propriétés à ramener que j'atteinds la limite de SQL server...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 select LOT.LOT_ID, LOT.NOM, (select LOT_PROPRIETE.VALEUR where LOT_ID=LOT_PROPRIETE.LOT_ID and PROPRIETE_ID=1) PROPRIETE_1, (select LOT_PROPRIETE.VALEUR where LOT_ID=LOT_PROPRIETE.LOT_ID and PROPRIETE_ID=2) PROPRIETE_2, etc.
Comment optimiser cette requête ? Suis pas très fortiche en sql, alors j'ai écrit ça basiquement, mais y'a peut-être + simple.
Merci pour votre aide !
Partager