Nombre de requête imbriquer max???

Résolu
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 26 juin 2007 à 16:11
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 9 juil. 2007 à 10:37
Bonjour ,

Je développe acculement une appli (en VB) qui gère une base de données.

Mon problème est que je dois être compatible avec un maximum de SGBD (au mini
Oracle, SQL Server, MySQL, PostgreSQL) en passant par de l'ODBC.

Une de mes requête me pose problème
Ici pour des précisions


Après de longues recherches il semble que la requête que je veut sois de la forme
:




<hr align="center" size="2" width="100%" />



SELECT
ID_Phrase FROM Phrase WHERE ID_Phrase IN

    (SELECT ID_Phrase FROM Phrase WHERE ID_Mot 0 AND Order_Mot
0 AND ID_Phrase IN

        (SELECT ID_Phrase FROM Phrase WHERE
ID_Mot 1 AND Order_Mot 1 AND ID_Phrase IN

            (SELECT ID_Phrase FROM
Phrase WHERE ID_Mot 2 AND Order_Mot 2 AND ID_Phrase IN

               
(SELECT ID_Phrase FROM Phrase WHERE ID_Mot 3 AND Order_Mot 3

                )

            )

        )

    )

GROUP BY ID_Phrase

HAVING(COUNT(ID_Phrase)) = 4






<hr align="center" size="2" width="100%" />


Je voulais la construire avec des "INTERSECT" sauf
que cette 'fonction' (si ce n'est pas le bon terme pourriez vous me corrigé) ne
sois pas compatible avec SQL Serveur.


Problème je construit cette requête par code programme et il est possible qu'il
y est beaucoup plus de requête imbriquée (heeee, en faite je ne sais même pas
si c'est bien ça une requête imbriquée)


Ma question est donc : Puis-je faire une très grosse requête de cette façon ou
faut t'il que je trouve une autre syntaxe?




Amicalement



Pensez "Réponce acceptée"

2 réponses

cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
5 juil. 2007 à 15:03
INTERSECT est disponible dans SQL Server 2005

Au niveau du nombre d'imbrications maxi, sur SQL Server c'est 32.

Cordialement
------------
Christian Robert - Winwise
http://blogs.developpeur.org/christian
MVP SQL Server
3
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 juil. 2007 à 10:37
Bonjour,
Merci pour cette réponce.
32 c'est bien mais pas top (en tout cas sufisant pour le temps que je trouve une autre façon de faire)
Désol pour le temps à répondre.
Merci encors et A+
Amicalement
Pensez "Réponce acceptée"
0
Rejoignez-nous