[..] SQL, problème sur gestion requête...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Supernatural
Niveau 2
Niveau 2
Messages : 26
Enregistré le : jeu. 06 avr. 2017 15:18
Status : Hors ligne

[..] SQL, problème sur gestion requête...

#1

Message par Supernatural »

Bonjour,
Je suis bloqué sur un problème de logique pour des traitements de données sur une base sqlite.

Je m'explique:

-Si la valeur de la colonne A est unique, alors je lis les valeurs des colonnes M, O, P, R.
Ensuite, si M correspond au point de mesure que je dois récupérer alors j’exécute une fonction X,

"Select * From MaTable Where `Pt. de mseusure` IN('toto', 'tutu', 'titi')"...

-Si la valeur de la colonne A n'est pas unique, je récupère toutes les valeurs des colonnes M, O, P, R
Ensuite, je lis les 1 par 1 les points de mesure de la colonne M pour les priorisés ensuite j’exécute une fonction Y

C'est pour ce cas-ci que je bloque... Je ne vois pas comment procéder...

Merci par avance pour vos retour.
Modifié en dernier par Supernatural le mar. 11 avr. 2017 06:50, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: SQL, problème sur gestion requête...

#2

Message par jchd »

Bonsoir,

On ne voit pas le rapport entre A et le reste. Unique dans la table, mais selon quel critère ? Il semble manquer un critère portant sur A dans la clause WHERE .
Aussi quel rapport entre M et `Pt. de mesure` ?

Le schéma et un exemple avec le résultat attendu serait appréciable.

La syntaxe "Pt. de mesure" (ou [Pt. de mesure]) est préférable car standard et portable. Les backticks sont un microsoftisme.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Supernatural
Niveau 2
Niveau 2
Messages : 26
Enregistré le : jeu. 06 avr. 2017 15:18
Status : Hors ligne

Re: [..]SQL, problème sur gestion requête...

#3

Message par Supernatural »

Bonjour, il est vrai qu'il manque quelques informations lorsque l'on relit bien, et je m'en excuse

Pour être plus clair,

Je souhaite lire ma table (en autoit bien sur) dans le principe suivant:

.La colonne A reste prioritaire pour la lecture,

.Colonne M: Point de mesure, je les défini et les classes par importances:
jPA15_9BF, jPA21_9BF, jPA35_9BF, jPA41_9BF, jPE11_9BF, jPE21_9BF (niveau 1) sont prioritaires sur jPA22v_9BF, jPA42v_9BF, jPA16v_9BF, jPA36v_9BF (niveau 2), les autres sont sans importances pour moi.
.Colonne O: Tolérance inférieure,
.Colonne P: Valeur de mon point de mesure,
.Colonne R: Tolérance supérieure,

.Si on trouve la valeur de la colonne A alors je lis les colonnes M, O, P, R.
..Si la valeur de ma colonne M correspond à un point de mesure que j'ai défini, alors on regarde si Colonne P < ou > Colonne O selon le point de mesure ensuite je lance ma fonction toto()

.Si on trouve plusieurs valeurs identique dans la colonne A, alors je lis pour chaque ligne trouvée en A les colonnes M, O, P, R,
..Si la valeur de ma colonne M correspond à un point de mesure que j'ai défini alors je ne récupère que les points de mesures niveau 1 et je si Colonne P < ou > Colonne O selon le point de mesure ensuite je lance ma fonction toto()

Exemple structure de mon fichier CSV :
Ficher CSV

Après si on peut faire des requêtes dans un fichier csv sans avoir a le stocker dans une base sqlite, je suis preneur aussi.

Merci par avance de votre précieuse aide.
Répondre