Limite des requête imbriqué dans la clause FROM - SQL/NoSQL - Programmation
Marsh Posté le 14-04-2011 à 15:06:33
Et c'est quoi le vrai message d'erreur, là?Je ne vois "Table1" nulle part...
T'as pas essayé via des jointures, ton machin, là, sinon? Parce-que ça pique les yeux à lire, quand même...d'autant que les sous-requêtes utilisent toutes les mêmes tables ou presque, ça a pas l'air franchement optimal...
Marsh Posté le 14-04-2011 à 15:08:39
je me permets de reposter ta requête avec coloration syntaxique, histoire d'essayer d'y voir plus clair.
Code :
|
Marsh Posté le 14-04-2011 à 15:14:16
Pardon oui...
En fait Table1 = A et Table2 = B
L'histoire que je racontais était plus un exemple...
Le message d'erreur est ~:
"Impossible d'initialiser la requête, le fichier A n'existe pas.
Marsh Posté le 14-04-2011 à 15:15:56
C'est quoi comme sgbd?
Marsh Posté le 14-04-2011 à 15:17:40
J'en ai essayé deux, car un je ne fais pas vraiment confiance... Et j'ai le même message d'erreur...
- HyperFile C/S
- MySQL
Marsh Posté le 14-04-2011 à 15:19:09
HyperFile j'imagine, pour ton message d'erreur? M'étonnerait que ce genre de sport fonctionne là-dessus...
C'est quoi le message sous mysql? Quelle version?
Marsh Posté le 14-04-2011 à 15:20:24
Mais quelque soit le SGBD, je n'utilise aucune syntaxe SQL (à ma connaissance) qui a des particularité...
Comme decode et case etc... Tous ce que j'utilise sont des instructions de base de SQL (SELECT, FROM, WHERE, GROUP BY, SUM, ORDER BY)
Marsh Posté le 14-04-2011 à 15:21:16
Les sgbd ne supportent pas tous 100% du sql "de base"...
Marsh Posté le 14-04-2011 à 15:27:39
Humm ok je viens de trouver...
Le test que j'avais effectué sur MySQL était légèrement différent et une erreur c'était glissé.
En mettant exactement ce que je dois exécuter sur HyperFile C/S dans MySQL ca a fonctionné...
Conclusion, tu avais raison.
"M'étonnerait que ce genre de sport fonctionne là-dessus... "
Je confirme donc.
Marsh Posté le 16-04-2011 à 21:40:35
bonsoir à tout le monde j'ai un probleme que j'aimerai aoir de l'aide veuillez m'expliquer les codes suivants:
SQL> Declare
2 LN$Num pls_integer := 0 ;
3 Begin
4 Loop
5 LN$Num := LN$Num + 1 ;
6 dbms_output.put_line( to_char( LN$Num ) ) ;
7 EXIT WHEN LN$Num > 3 ; -- sortie de la boucle lorsque LN$Num est supétieur à 3
8 End loop ;
9 End ;
10 /
1
2
3
4
Procédure PL/SQL terminée avec succès.
SQL> Declare
2 LN$I pls_integer := 0 ;
3 LN$J pls_integer := 0 ;
4 Begin
5 <<boucle1>>
6 Loop
7 LN$I := LN$I + 1 ;
8 Loop
9 LN$J := LN$J + 1 ;
10 dbms_output.put_line( to_char( LN$I ) || ',' || to_char( LN$J ) ) ;
11 EXIT boucle1 WHEN LN$J > 3 ;
12 End loop ;
13 End loop ;
14 End ;
15 /
1,1
1,2
1,3
1,4
Procédure PL/SQL terminée avec succès.
Marsh Posté le 16-04-2011 à 22:42:37
Non. Crée un topic pour ton problème au lieu de squatter celui des autres.
Marsh Posté le 14-04-2011 à 14:56:44
Bonjour à tous.
Avant tous, veuillez m'excuser si un sujet similaire existe, j'ai fait une recherche, mais je n'ai pas vraiment trouvé la réponse à ma question...
En gros je voulais savoir si il existe une limite pour la définition de la clause FROM avec des sous requête ?
J'ai une requête qui est correcte qui me créé Table1 et Table2 à partir de requête. Les deux requêtes qui génère Table1 et Table2, fonctionne lorsque je les exécute séparément. Mais lorsque je les utilise dans un SELECT... Ca ne passe pas. Le message d'erreur est que ma table Table1 n'existe pas.
A noter que les requêtes qui génère Table1 et Table2 génère elle même 2 table TableA et TableB...
Bref voici l'exemple :
Merci d'avance de toute l'aide que vous pourrez m'apporter.