Select compliqué pour moi :)

Résolu/Fermé
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018 - Modifié le 28 janv. 2018 à 20:43
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 - 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

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
28 janv. 2018 à 20:45
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 : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
1
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018
28 janv. 2018 à 20:54
Le lien est entre MarketOpportunity (from orders_history) et MarketName (from market)
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018
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
0
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018
29 janv. 2018 à 17:05
Merci jordane45 c'est exactement ce dont j'ai besoin.
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018
29 janv. 2018 à 20:40
peux-tu alors marquer le sujet comme résolu?
0