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
:
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
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"