如何使用别名从两个表中获取计数值

时间:2016-06-09 04:00:20

标签: php mysql sql database

我有两个表,一个是export_log,另一个是client_log表,我试图从单个表(count)中获取export_log值,该值正常工作。然后我尝试从两个表(countexport_log)中获取client log值,现在我有一个错误:

  

#1064 - 您的SQL语法出错;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   接近'*)Total_login,cl.count(*)Total_access DATE_FORMAT(max(   第1行el.lastmodified)'

我需要从单个查询的两个表中获取count值,我已经尝试了很多次我没有得到结果。还有如何在max()函数中使用别名?

请更正此查询..

 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

1 个答案:

答案 0 :(得分:0)

因为选择子句的语法错误所以您可以尝试:

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