Requête SQL ardue
djé
-
dje -
dje -
Bonjour à tous et merci d'avance à ceux qui liront ce post
j'ai un pitit souci en SQL. Voilà, il s'agit de développer un outil d'analyse sous Excel, en requêtant une base en ODBC. Je fais la requête sous Microsoft Query (jusque là rien d'extraordinaire).
C'est la requête en elle même qui pose problème, car un message indique que les données renvoyées ne peuvent être afficher sous forme graphique et à partir de là, il m'est impossible de renvoyer les données sous Excel (du moins j'ai essayé et ça ne fait rien)
Il est vrai que la requête est assez éloigné d'un Select classique, voici le monstre:
DECLARE curseur_test CURSOR FOR
(SELECT gl_codearticle, gl_qtefact, gl_datelivraison, gl_pieceprecedente from ligne where gl_naturepieceg='BLF');
DECLARE @gl_codearticle VARCHAR(50), @gl_qtefact VARCHAR(50), @gl_datelivraison VARCHAR(30), @gl_pieceprecedente VARCHAR(30)
BEGIN
OPEN curseur_test;
FETCH curseur_test INTO @gl_codearticle, @gl_qtefact, @gl_datelivraison, @gl_pieceprecedente
WHILE (@@FETCH_STATUS=0)
BEGIN
select @gl_codearticle, @gl_qtefact, @gl_datelivraison,
gl_qtefact from ligne where gl_naturepieceg='CF'
and gl_codearticle=@gl_codearticle
FETCH curseur_test INTO @gl_codearticle, @gl_qtefact, @gl_datelivraison, @gl_pieceprecedente
END
CLOSE curseur_test;
DEALLOCATE curseur_test;
END;
bon je l'ai un peu épuré mais l'essentiel est là, je l'ai testé sous l'analiseur de requête de SQL server, et elle me donne le résultat que je veux, mais il est vrai que l'affichage des données est séparé par chaque tour de boucle (chaque itération implique un SELECT différent). Le problème viendrai de là à priori.
La question que je pose est donc la suivante, existe t-il une instruction SQL pour grouper les résultats de plusieurs SELECT consécutif ou quelque chose dans le genre? Quelqu'un a t-il une idée pour résoudre le problème SVP? merci d'avance
j'ai un pitit souci en SQL. Voilà, il s'agit de développer un outil d'analyse sous Excel, en requêtant une base en ODBC. Je fais la requête sous Microsoft Query (jusque là rien d'extraordinaire).
C'est la requête en elle même qui pose problème, car un message indique que les données renvoyées ne peuvent être afficher sous forme graphique et à partir de là, il m'est impossible de renvoyer les données sous Excel (du moins j'ai essayé et ça ne fait rien)
Il est vrai que la requête est assez éloigné d'un Select classique, voici le monstre:
DECLARE curseur_test CURSOR FOR
(SELECT gl_codearticle, gl_qtefact, gl_datelivraison, gl_pieceprecedente from ligne where gl_naturepieceg='BLF');
DECLARE @gl_codearticle VARCHAR(50), @gl_qtefact VARCHAR(50), @gl_datelivraison VARCHAR(30), @gl_pieceprecedente VARCHAR(30)
BEGIN
OPEN curseur_test;
FETCH curseur_test INTO @gl_codearticle, @gl_qtefact, @gl_datelivraison, @gl_pieceprecedente
WHILE (@@FETCH_STATUS=0)
BEGIN
select @gl_codearticle, @gl_qtefact, @gl_datelivraison,
gl_qtefact from ligne where gl_naturepieceg='CF'
and gl_codearticle=@gl_codearticle
FETCH curseur_test INTO @gl_codearticle, @gl_qtefact, @gl_datelivraison, @gl_pieceprecedente
END
CLOSE curseur_test;
DEALLOCATE curseur_test;
END;
bon je l'ai un peu épuré mais l'essentiel est là, je l'ai testé sous l'analiseur de requête de SQL server, et elle me donne le résultat que je veux, mais il est vrai que l'affichage des données est séparé par chaque tour de boucle (chaque itération implique un SELECT différent). Le problème viendrai de là à priori.
La question que je pose est donc la suivante, existe t-il une instruction SQL pour grouper les résultats de plusieurs SELECT consécutif ou quelque chose dans le genre? Quelqu'un a t-il une idée pour résoudre le problème SVP? merci d'avance
A voir également:
- Requête SQL ardue
- Logiciel sql - Télécharger - Bases de données
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Sql (+) - Forum Programmation
- Cherche des haricot vendez les moi ✓ - Forum DS
- Sql lister les tables ✓ - Forum Programmation