Probleme select/mysql

Résolu
raph931 Messages postés 2 Statut Membre -  
raph931 Messages postés 2 Statut Membre -
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. 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
  2. Reivax962 Messages postés 3742 Statut Membre 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
  3. raph931 Messages postés 2 Statut Membre
     
    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