Probleme select/mysql

Résolu
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

  1. 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
    1. 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
      1. 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.