2016-03-08 30 views
0

我有两个表reg_dealer和claim_data。从两个表的mysql连接或concat查询获得明智的注册

SELECT YEAR(claim_dt) AS `Year`, 
     MONTHNAME(claim_dt) AS `Month`, 
     COUNT(distinct `uniquecode`) AS `No of Reg` 
FROM claim_data 
WHERE YEAR(claim_dt) = '2016' 
GROUP BY `Year`, `Month` 
ORDER BY MONTH(claim_dt) DESC 


SELECT YEAR(reg_date) AS `Year`, 
     MONTHNAME(reg_date) AS `Month`, 
     COUNT(*) AS `No of Reg` 
FROM reg_dealer 
WHERE YEAR(reg_date) = '2016' 
GROUP BY `Year`, `Month` 
ORDER BY MONTH(reg_date) DESC 

我从两个表中得到明智的结果在相同的格式。

Year----------Month----------No_of_Reg 
2016   March   150 
2016   February  125 
2016   Janurary   75 

,我想注册并要求在一个去

Year----------Month----------No_of_Reg---------No_of_claims 
2016   March   150    350 
2016   February  125    250 
2016   Janurary   75    150 

也想获得独特的索赔

请帮助

+0

加入年份和月份的两个查询。 – Barmar

回答

0

加入查询。

SELECT t1.Year, t1.Month, `No of Reg`, `No of Claims` 
FROM (SELECT YEAR(claim_dt) AS `Year`, MONTHNAME(claim_dt) AS `Month`, MONTH(claim_dt) AS MonthNum, COUNT(distinct `uniquecode`) AS `No of Claims` 
     FROM claim_data 
     WHERE YEAR(claim_dt) = '2016' GROUP BY `Year`, `Month`) AS t1 
JOIN (SELECT YEAR(reg_date) AS `Year`, MONTH(claim_dt) AS MonthNum, COUNT(*) AS `No of Reg` 
     FROM reg_dealer 
     WHERE YEAR(reg_date) = '2016' 
     GROUP BY `Year`, `MonthNum`) AS t2 
    ON t1.Year = t2.Year AND t1.MonthNum = t2.MonthNum 
ORDER BY t1.Year, t1.MonthNum DESC 
+0

感谢您的答案,但查询未执行,出现错误未知列't2.Month'在'on子句',我将t2.month替换为t2.MonthNum,但没有结果 – user2751498

+0

对不起,本来打算将其更改为'MonthNum'。 – Barmar

+0

,但先生查询得到消息您的SQL查询已成功执行(查询花费0.0126秒)但没有结果 – user2751498