Menu

Select compliqué pour moi :) [Résolu]

mikesunshine59 71 Messages postés lundi 22 janvier 2018Date d'inscription 11 février 2018 Dernière intervention - 28 janv. 2018 à 20:37 - Dernière réponse : yg_be 4666 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 20 février 2018 Dernière intervention
- 29 janv. 2018 à 20:40
Bonjour,

La requête ci dessous me permet de connaitre quels sont les marchés qui sont en baisses.
select t1.MarketName, t1.Last, t2.Last, t1.Bid, t2.Bid, t1.Ask, t2.Ask, t1.BaseVolume, t2.BaseVolume, t1.Datecreation, t2.Datecreation 
from market as t1, market as t2
where t1.MarketName = t2.MarketName
and t1.Last < t2.Last
and t1.Datecreation > t2.Datecreation
and (t1.BaseVolume - t2.BaseVolume)/t2.BaseVolume < 0/100
and (t1.Bid - t2.Bid)/t2.Bid < 0/100
ORDER BY t1.BaseVolume DESC

Je voudrais avoir uniquement le marché qui correspond à cette requête :
SELECT `MarketOpportunity`
 FROM `orders_history` 
ORDER BY Timestamp DESC LIMIT 0,1

Comment imbriquer les deux ?

Merci pour votre aide.

EDIT : Ajout des balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45
Afficher la suite 

5 réponses

Répondre au sujet
jordane45 20046 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 février 2018 Dernière intervention - 28 janv. 2018 à 20:45
+1
Utile
4
Bonjour,

Et quel est le lien entre tes tables un id ? un "name" ?
Car d'un côté ta première requête tape sur la table market et dans ta seconde requête sur orders_history



NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
mikesunshine59 71 Messages postés lundi 22 janvier 2018Date d'inscription 11 février 2018 Dernière intervention - 28 janv. 2018 à 20:54
Le lien est entre MarketOpportunity (from orders_history) et MarketName (from market)
yg_be 4666 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 20 février 2018 Dernière intervention > mikesunshine59 71 Messages postés lundi 22 janvier 2018Date d'inscription 11 février 2018 Dernière intervention - 28 janv. 2018 à 22:55
alors, suggestion:
select t1.MarketName, t1.Last, t2.Last, t1.Bid, t2.Bid, t1.Ask, t2.Ask, t1.BaseVolume, t2.BaseVolume, t1.Datecreation, t2.Datecreation 
from market as t1, market as t2, 
(SELECT `MarketOpportunity`
 FROM `orders_history` 
ORDER BY Timestamp DESC LIMIT 0,1) as t3
where t1.MarketName = t2.MarketName
and t1.MarketName = t3.MarketOpportunity
and t1.Last < t2.Last
and t1.Datecreation > t2.Datecreation
and (t1.BaseVolume - t2.BaseVolume)/t2.BaseVolume < 0/100
and (t1.Bid - t2.Bid)/t2.Bid < 0/100
ORDER BY t1.BaseVolume DESC
mikesunshine59 71 Messages postés lundi 22 janvier 2018Date d'inscription 11 février 2018 Dernière intervention - 29 janv. 2018 à 17:05
Merci jordane45 c'est exactement ce dont j'ai besoin.
yg_be 4666 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 20 février 2018 Dernière intervention > mikesunshine59 71 Messages postés lundi 22 janvier 2018Date d'inscription 11 février 2018 Dernière intervention - 29 janv. 2018 à 20:40
peux-tu alors marquer le sujet comme résolu?
Commenter la réponse de jordane45