Probleme select/mysql

Résolu
raph931 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
raph931 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Salut a tous ,
j'ai un probleme avec une de mes requetes :


je n'arrive pas a recuperer le champ " t2.dateLogin" (jai un retour NULL ),les champs existes et si j'execute juste la sous-requete (tx) en presisant le customerId je recupere les bonnes donnees


SELECT t1.id , t1.regStatus ,
t2.dateLogin
FROM customers AS t1
LEFT JOIN (
SELECT MAX(tx.dateLogin) AS dateLogin,tx.customerId
FROM customer_login_log AS tx
) AS t2
ON t2.customerId = t1.id
WHERE t1.id = 52



merci d'avance pour votre aide.

3 réponses

Utilisateur anonyme
 
Bonjour

Je ne suis pas sûr du tout, mais j'essaierais :
SELECT t1.id , t1.regStatus , t2.dateLogin 
FROM customers AS t1 
LEFT JOIN ( 
SELECT MAX(tx.dateLogin) AS dateLogin,tx.customerId AS txId 
FROM customer_login_log AS tx 
) AS t2 
ON t2.txId = t1.id 
WHERE t1.id = 52 


car je trouve troublant le t2.customerId dans ta condition de jointure alors que dans la sous-requête t2, il n'y a pas customerId tout court mais tx.customerId.
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Est-ce qu'il ne manquerait pas un GROUP BY dans ta sous-requête ?
As-tu essayé de l'exécuter telle qu'elle ?

Xavier
0
raph931 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
merci à tous les deux , je me suis rendu compte que je me compliquer en fait la tâche

jai resolu le probleme comme ca :

SELECT t1.id , t1.regStatus ,
MAX(t2.dateLogin) as dateLogin
FROM customers AS t1
LEFT JOIN customer_login_log AS t2 ON t2.customerId = t1.id
WHERE t1.id = 52
0