2016-06-09 14 views
0

Ich habe zwei Tabellen, eine und eine andere ist client_log Tabelle zuerst Ich habe versucht, count Wert aus einer einzigen Tabelle (export_log), die richtig funktioniert. Und dann habe ich versucht, count Wert von zwei Tabellen (export_log und client log) zu bekommen, jetzt habe ich einen Fehler wie:So erhalten Sie den Zählwert aus zwei Tabellen mit Aliasnamen

# 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; das Handbuch, dass zu Ihrer MySQL-Server-Version entspricht, die für die richtige Syntax in der Nähe von '*) Total_login, cl.count (*) Total_access DATE_FORMAT (max ( el.lastmodified)' in Zeile zu verwenden, 1

Ich brauche count Wert von zwei Tabellen mit einzelnen Abfrage zu bekommen, ich habe so viele Male habe ich versucht, nicht die Ergebnisse bekommen haben. Und auch, wie Alias-Namen innerhalb max() Funktion zu benutzen?

pls korrekt diese Abfrage ..

SELECT el.count(*) Total_login, cl.count(*) Total_access DATE_FORMAT(max(`el.lastmodified`) , '%d %M %y ,%H:%i') last_logged 
    FROM export_log el, client_log cl 
    WHERE (el.unique_id = 'n110r24dan756j5vnv5v0016r31ad6jg' and el.unique_id != 'nn10r24daj756j5hnv5v0016r31ad6ja') AND (cl.unique_id = 'n110r24dan756j5vnv5v0016r31ad6jg' and cl.unique_id != 'n110r24dan756j5vnv5v0016r31ad6jg') 
    AND el.user_name 
    IN (
    'bala','sathish' 
    ) AND cl.user_name IN('bala','sathish') 
    AND `el.lastmodified`>=CAST(DATE_FORMAT(NOW() , '%Y-%m-01') AS DATE)and CAST(DATE_FORMAT(NOW(),'%Y-%m-01') AS DATE) 
    GROUP BY el.unique_id,cl.unique_id 
    ORDER BY Total_login DESC 
+0

Count (el.user_name) ist ein guter Anfang. Da el.coubt (*) ist falsche Syntax – brett

+0

Oder zählen (el.id) was auch immer ist Ihr Primärschlüssel für die Login-Tabelle :) – brett

Antwort

0

Weil Ihre Syntax ist falsch bei Klausel wählen, so dass Sie versuchen können:

SELECT count(el.*) Total_login, count(cl.*) Total_access, DATE_FORMAT(max(`el.lastmodified`) , '%d %M %y ,%H:%i') last_logged 
    FROM export_log el, client_log cl 
    WHERE (el.unique_id = 'n110r24dan756j5vnv5v0016r31ad6jg' and el.unique_id != 'nn10r24daj756j5hnv5v0016r31ad6ja') AND (cl.unique_id = 'n110r24dan756j5vnv5v0016r31ad6jg' and cl.unique_id != 'n110r24dan756j5vnv5v0016r31ad6jg') 
    AND el.user_name 
    IN (
    'bala','sathish' 
    ) AND cl.user_name IN('bala','sathish') 
    AND `el.lastmodified`>=CAST(DATE_FORMAT(NOW() , '%Y-%m-01') AS DATE)and CAST(DATE_FORMAT(NOW(),'%Y-%m-01') AS DATE) 
    GROUP BY el.unique_id,cl.unique_id 
    ORDER BY Total_login DESC 
+0

Nachdem ich Ihren Vorschlag erneut geändert habe, bekomme ich Fehler Herr, dass der Fehler # 1064 - Sie haben eine Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, damit die richtige Syntax in der Nähe von *) verwendet werden kann: Total_login, count (cl. *) Total_access, DATE_FORMAT (max ('el.lastmodified') in Zeile 1) –

+0

Sie sollten Leerzeichen bei löschen zählen (el. *) Gesamt_login – ThiepLV

Verwandte Themen