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 :
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.
Sauf que j'ai tellement de propriétés à ramener que j'atteinds la limite de SQL server...
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 !