Analyse croisée code SQL
Fermé
mich62120
Messages postés
631
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2010
-
25 juil. 2009 à 14:46
mich62120 Messages postés 631 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010 - 28 juil. 2009 à 15:48
mich62120 Messages postés 631 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010 - 28 juil. 2009 à 15:48
A voir également:
- Analyse croisée code SQL
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
6 réponses
soleil_levant
Messages postés
393
Date d'inscription
lundi 15 septembre 2008
Statut
Membre
Dernière intervention
14 avril 2011
32
25 juil. 2009 à 16:10
25 juil. 2009 à 16:10
Salut,
Ton lien ne fonctionne pas :( PEux tu le modifier !
Ton lien ne fonctionne pas :( PEux tu le modifier !
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
26 juil. 2009 à 11:50
26 juil. 2009 à 11:50
salut
tu peu nous montrer le code que tu essai?
syntax doit ressembler a ca
INSERT INTO perso ( nom, prenom, age )
SELECT nom, prenom, age
FROM personne;
j insert dans la table perso (les champ nom prenom age
je prend les champ nom,prenom,age
dela table personne
voila
tu peu nous montrer le code que tu essai?
syntax doit ressembler a ca
INSERT INTO perso ( nom, prenom, age )
SELECT nom, prenom, age
FROM personne;
j insert dans la table perso (les champ nom prenom age
je prend les champ nom,prenom,age
dela table personne
voila
mich62120
Messages postés
631
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2010
6
27 juil. 2009 à 13:46
27 juil. 2009 à 13:46
Salut,
Désolé pour le temps de réponse mais il y a des coupures d'électricité dans mon entreprise.
Je ne pense pas que ton code fasse ce que je recherche, c'est pour ajouter dans une table ayant des colonnes identiques non?
En fait je pars d'une table qui a cette description:
- DATE
- Abscisse1
- Abscisse 2
- NomProduit
- ID_Ordonnée
- Valeur de l'ordonnée
Je peux avoir 1 à N noms de produit et 1 à M ordonnées.
Je souhaiterai un code SQL me renvoyant une table de la forme :
- DATE
- Abscisse1
- Abscisse 2
- NomProduit 1 pour Ordonnée 1
...
- NomProduit 1 pour Ordonnée M
...
...
- NomProduit N pour Ordonnée 1
...
- NomProduit N pour Ordonnée M
La forme du resultat est donc variable pour chaque cas et la table remplit avec les valeurs des ordonnées.
J'espere etre assez clair. Le but est d'avoir des colonnes toutes pretes à être tracé l'une en fonction de l'autre.
Je pense qu'il faut avoir un code SQL qui:
- créer une table dynamiquement en fonction du contenu de la première.
- remplir par succession de requete les cellules.
Je dois faire faire un max de trraitement par le serveur car il y a plusieurs dizaines voir centaines de lignes à traiter et en faisant tout par programmation c'est trop long.
Le problème c'est que je débute en SQL, que je suis déjà fort en retard pour mon projet et que pendant 3 semaines on a des coupures de courant quotidienne donc c'est pas facile pour avancer et apprendre.
Si vous pouvez me guider juste sur un exemple de code pour me lancer ca serai sympa.
Je pense pouvoir donner un début de code vers ce soir.
Merci
Mich
Désolé pour le temps de réponse mais il y a des coupures d'électricité dans mon entreprise.
Je ne pense pas que ton code fasse ce que je recherche, c'est pour ajouter dans une table ayant des colonnes identiques non?
En fait je pars d'une table qui a cette description:
- DATE
- Abscisse1
- Abscisse 2
- NomProduit
- ID_Ordonnée
- Valeur de l'ordonnée
Je peux avoir 1 à N noms de produit et 1 à M ordonnées.
Je souhaiterai un code SQL me renvoyant une table de la forme :
- DATE
- Abscisse1
- Abscisse 2
- NomProduit 1 pour Ordonnée 1
...
- NomProduit 1 pour Ordonnée M
...
...
- NomProduit N pour Ordonnée 1
...
- NomProduit N pour Ordonnée M
La forme du resultat est donc variable pour chaque cas et la table remplit avec les valeurs des ordonnées.
J'espere etre assez clair. Le but est d'avoir des colonnes toutes pretes à être tracé l'une en fonction de l'autre.
Je pense qu'il faut avoir un code SQL qui:
- créer une table dynamiquement en fonction du contenu de la première.
- remplir par succession de requete les cellules.
Je dois faire faire un max de trraitement par le serveur car il y a plusieurs dizaines voir centaines de lignes à traiter et en faisant tout par programmation c'est trop long.
Le problème c'est que je débute en SQL, que je suis déjà fort en retard pour mon projet et que pendant 3 semaines on a des coupures de courant quotidienne donc c'est pas facile pour avancer et apprendre.
Si vous pouvez me guider juste sur un exemple de code pour me lancer ca serai sympa.
Je pense pouvoir donner un début de code vers ce soir.
Merci
Mich
mich62120
Messages postés
631
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2010
6
28 juil. 2009 à 09:48
28 juil. 2009 à 09:48
Bon suite à une discussion sur un autre forum, apparement c'est impossible tout d'un coup à part en PL/SQL.
Je suis donc parti sur la création de la table par programmation et de ensuite de trouver un alogorithme de passage de colonnes en lignes le plus optimisé possible.
Si vous savez comment je peux le faire en SQL ça serait sympa, mais bon dans ce cas aussi il faudra que j'adapte le code par programmation!
Sinon je pourrai peut être trouvé autre chose de pas trop lent (Les ajout multiples sur WinDev --> Pan!!!!!).
Mich
Je suis donc parti sur la création de la table par programmation et de ensuite de trouver un alogorithme de passage de colonnes en lignes le plus optimisé possible.
Si vous savez comment je peux le faire en SQL ça serait sympa, mais bon dans ce cas aussi il faudra que j'adapte le code par programmation!
Sinon je pourrai peut être trouvé autre chose de pas trop lent (Les ajout multiples sur WinDev --> Pan!!!!!).
Mich
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ZMEX
Messages postés
47
Date d'inscription
dimanche 19 avril 2009
Statut
Membre
Dernière intervention
27 septembre 2010
16
28 juil. 2009 à 11:31
28 juil. 2009 à 11:31
Bonjour,
j'ai à peu près le même problème
j'utilise cette requête pour faire un tableau croisé:
TRANSFORM Count(test_délais.Tranche) AS [CompteDeTranche]
SELECT test_délais.Ets, test_délais.Règlement, Count(test_délais.Délais) AS [Total de Délais], SUM((test_délais.[Mnt crédit])-(test_délais.[Mnt débit])) AS Montant
FROM test_délais
where Sum(test_délais.[Mnt crédit]-test_délais.[Mnt débit])
GROUP BY test_délais.Ets, test_délais.Règlement
PIVOT (test_délais.Tranche);
ma requête est juste sauf qu'en excel cela marche bien si on veut ajouter un autre agrégat dans l'agrégat. c-à-d je veux la ligne des montant aussi pour chaque tranche. jusque là je n'affiche que le total. j'ai fait la même chose sur excel cela marche très bien, mais j'essaie d'allimenter les résultats continuellement en ODBC pour pouvoir faire des statistiques plut tard.
(access 2003)
merci de m'illuminer
j'ai à peu près le même problème
j'utilise cette requête pour faire un tableau croisé:
TRANSFORM Count(test_délais.Tranche) AS [CompteDeTranche]
SELECT test_délais.Ets, test_délais.Règlement, Count(test_délais.Délais) AS [Total de Délais], SUM((test_délais.[Mnt crédit])-(test_délais.[Mnt débit])) AS Montant
FROM test_délais
where Sum(test_délais.[Mnt crédit]-test_délais.[Mnt débit])
GROUP BY test_délais.Ets, test_délais.Règlement
PIVOT (test_délais.Tranche);
ma requête est juste sauf qu'en excel cela marche bien si on veut ajouter un autre agrégat dans l'agrégat. c-à-d je veux la ligne des montant aussi pour chaque tranche. jusque là je n'affiche que le total. j'ai fait la même chose sur excel cela marche très bien, mais j'essaie d'allimenter les résultats continuellement en ODBC pour pouvoir faire des statistiques plut tard.
(access 2003)
merci de m'illuminer
mich62120
Messages postés
631
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2010
6
28 juil. 2009 à 15:48
28 juil. 2009 à 15:48
J'ai trouvé une solution en construisant un code par programmation en fonction de mon tableau de départ:
Ca devrait marcher pour moi d'après mes premiers test, je sais pas si ca peut t'aider.
Je suis sur Oracle 10g, je crois qu'il n'y pas de PIVOT.
SELECT DATEHEURE,VAL_MetBC,VAL_AbsSup, MAX( CASE WHEN ID_CARACT=<ID1> AND STATUT=<Prod1> THEN VAL_CARACT END) as 1 /* répétez la création de max en chageant les ID pour avoir toutes les combinaisons possibles*/ FROM SADD_IMP_VAL_TMP GROUP BY DATEHEURE,VAL_MetBC,VAL_AbsSup
Ca devrait marcher pour moi d'après mes premiers test, je sais pas si ca peut t'aider.
Je suis sur Oracle 10g, je crois qu'il n'y pas de PIVOT.
25 juil. 2009 à 19:21
Désolé je n'avais pas vérifié, il ne passe pas.
C'est le paragraphe 5 du chapitre 16:
http://cerig.pagora.grenoble-inp.fr/tutoriel/bases-de-donnees/
Merci à toi de regarder, c'est cool.
Mich