Filtrer dans une requete Select [Résolu]

Signaler
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
-
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
-
J'ai la requête suivante :

SELECT
gs.tracker Date,
gs.lat V1,gs.lng V2,
gs.param->"$.io1" Var3
FROM objects g,objects_data_352848020302291 gs WHERE g.name='4000'
AND gs.tracker BETWEEN '2020-07-23 10:15:14' AND '2020-07-23 10:59:04' ;

Le résultat est :


J'ai besoin d'extraire a travers cette requête seulement les valeurs qui sont coloré en jeune :

Merci d'avance pour vous aides.

6 réponses

Messages postés
32933
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juin 2021
3 553
Bonjour
Dans la requête tu rajoutes une condition sur V1 , V2 .. ou ...
Ben ... On ne sait pas.

Comment choisis tu les lignes que tu veux récupérer ? Sur quel critère te bases tu ?

Et.. les "extraire".. c'est à dire ?



Cordialement,
Jordane
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
32933
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juin 2021

Oui , c'est un bon exemple mais j'ai pas des ID au niveau de la table objects_data_352848020302291
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866 >
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

tu vois que c'était utile de connaitre le contenu des tables.
tu ne peux pas faire cela en PHP?
que vas-tu faire ensuite avec les données extraites?
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021

Oui ta raison ,
J'utilise PHP pour stocker par la suite dans un fichier Excel : Autre problème les deux 1iere ligne doivent être en même ligne dans le fichier Excel générer
Le deux deuxième dans la deuxième ligne ...
Je parle de l'exemple suivant :
table 1 : objects (id, nom) [352093088485056, objects01 ; 358480086797737, objects02]
table 2 : objects_data_352093088485056(post,haut)
table 3 : objects_data_358480086797737(post,haut)
Comment je peut faire la jointure entre ces trois tables pour que je puisse récupérer toutes les
informations ?
Pour info : j'ai pas la possiblité d'ajouter des clés étrangres au niveau de tables
objects_data_352093088485056 , objects_data_358480086797737
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866 >
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

probablement en ajoutant un while dans ta simple boucle for.
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866
bonjour,
peux-tu nous montrer ce que contiennent tes deux tables?
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

Bonjour,
on a pas besoin de contenu des deux tables ,
Je veux appliquer les critères suivantes sur la requête en haut
Les critères :
La 1ier ligne : c'est le 1ier valeur dont Var3=1
La 2ime ligne : c'est le 1ier valeur dont Var3 devient égale à zéro
La 3ime ligne : c'est le 1ier valeur dont Var3 devient égale à 1
La 3ime ligne : c'est le 1ier valeur dont Var3 devient égale à zéro ......
Messages postés
32933
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juin 2021
3 553
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
32933
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juin 2021

C'est le meme lien de forum ??
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

Rebonjour ;
J'ai réfléchi finalement a stocker les valeurs de la 1ier requête dans un nouvelle table Data_copy dans la base de données comme suit :


Le problème que j'arrive pas a récupérer les valeurs exactement demandées :
Toujours je souhaite récupérer les valeurs en jeunes :
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866
moi j'essaierais ainsi:
select idc, dates, io1c as io1, lat, lng 
from 
(select d1.id as idc, d1.io1 as io1c, d1.dates, d1.lat, d1.lng, max(d2.id) as idp
from Data_copy as d1, Data_copy as d2
where d1.id > d2.id) as cp,
Data_copy as dp
where dp.id = cp.idp
and dp.io1 <> cp.io1
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

Merci pour votre retour ,
J'ai ce message d'erreur :
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021

lui donnerais un nom : comment ? dans un variable ? comme ça:
$result = select * from gs_datas 
where (io1 = 1 and vitesse > 6) or (io1=0 and vitesse = 0) ;
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866 >
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

non, cela se fait via l'administration de la base de données, en créant une view.
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021

ok , j'ai la fait la création de VIEW avec code php .
Comment je peut faire ca : M3-M2 pour avoir le résultat suivante :


Moi j'ai fait :

		//Calcul Distance
		$tab_cnt_odo=count($odometre_stop);	
		for($d=0; $d<$tab_cnt_odo-1; $d++){
				$distance[] = ($odometre_stop[$d+1])-($odometre_stop[$d]);
		}	

for($i=0; $i<$row_cnt/2; $i++){
		 <td>'.str_replace('.',',',@$distance[$i]/1000).'</td>  
             </tr>'; }	


J'ai le résultat suivante :
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866 >
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

terminons d'abord les discussions en cours, ensuite tu en créeras une nouvelle pour une nouvelle question.
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021

ok, d'accord .
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

La nouvelle requête retourne vide :(
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866 >
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

tu confirmes que la requête en #19 ne retourne rien?
montre ce que retourne la requête en #21.
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021

#19 : c'est correcte , je suis très désolé et merci bien pour votre aide .
J'ai une autre question : Avez vous une idée comment je peut mettre les lignes 6 et 86 dans une seule ligne (1ier ligne) et
la deuxième ligne contient 126 et 136 .Comme ca : Pour info j'utilise PHP

Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866 >
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021

en modifiant légèrement la boucle PHP.
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021
866 >
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021

j'éviterais de faire cela en SQL, c'est vraiment tiré par les cheveux.
je suggère que tu ouvres une nouvelle discussion dans le forum PHP, en y montrant ton code et en expliquant ce que tu veux obtenir.
peux-tu alors marquer cette discussion comme résolue?
Messages postés
69
Date d'inscription
mardi 26 février 2019
Statut
Membre
Dernière intervention
27 mai 2021
>
Messages postés
15962
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 juin 2021

Ok je suis d'accord , merci