在mysql中将多行数据转换为列
spid 6和spid 5没有10月18日的数据,但仍然应该显示尝试做正确连接和正确外部连接似乎都不起作用 像这样使用: 像这样使用:在mysql中将多行数据转换为列,mysql,select,Mysql,Select,spid 6和spid 5没有10月18日的数据,但仍然应该显示尝试做正确连接和正确外部连接似乎都不起作用 像这样使用: 像这样使用: 这是有效的。。。。然而,我只是想知道我是否有一个join语句到另一个包含sp_id详细信息的表…并说我在该表中有5个不同的sp_id。。。如何修改查询…添加与上述查询不匹配/命中的sp_id,并添加一个0,例如2012年10月18日| 0,1,1,0,0 | 5,4,3,2,1嘿,结果有点不符,应该为SCB和lal用户提供lal日期,包括null…这很有效。。。
这是有效的。。。。然而,我只是想知道我是否有一个join语句到另一个包含sp_id详细信息的表…并说我在该表中有5个不同的sp_id。。。如何修改查询…添加与上述查询不匹配/命中的sp_id,并添加一个0,例如2012年10月18日| 0,1,1,0,0 | 5,4,3,2,1嘿,结果有点不符,应该为SCB和lal用户提供lal日期,包括null…这很有效。。。。然而,我只是想知道我是否有一个join语句到另一个包含sp_id详细信息的表…并说我在该表中有5个不同的sp_id。。。如何修改查询…添加与上述查询不匹配/命中的sp_id,并添加一个0,例如2012年10月18日| 0,1,1,0,0 | 5,4,3,2,1嘿,结果有点不符,应该为SCB和lal用户提供lal日期,包括null…使用
GROUP_CONCAT(IFNULL(总计,0))
获取外部联接中没有匹配数据的行的0
。@barmer您是否可以编写查询并显示它。。。我累了把一个外部连接。。。“在l.sp_id=s.sp_id上作为s的外部联接销售人员”,它给出了一个错误使用GROUP_CONCAT(IFNULL(total,0))
为外部联接中没有匹配数据的行获取0
。@barmer您可以编写查询并显示它吗。。。我累了把一个外部连接。。。“在l.sp_id=s.sp_id上以s的身份加入销售人员”,它给出了一个错误
SELECT
Day,
month,
year,
GROUP_CONCAT(total),
GROUP_CONCAT(SP_ID)
FROM
(
SELECT
DATE_FORMAT(l.act_date, '%d') AS DAY,
DATE_FORMAT(l.act_date, '%M') AS MONTH,
EXTRACT(YEAR FROM l.act_date) AS YEAR,
COUNT(*) as total,l.sp_id
FROM lead_activity2 as l
right outer join salesperson as s on l.sp_id=s.sp_id
WHERE l.act_name='scb'
AND ((l.act_date>='2012-09-07 13:03:27' )
AND (l.act_date<= '2012-11-07 13:03:27'))
GROUP BY MONTH, YEAR, DAY, l.sp_id
ORDER BY YEAR DESC, MONTH DESC, DAY DESC, l.sp_id DESC
) t GROUP BY day, month, year
18 | october | 2012 | 0,0,1,1 | 6,5,4,3
SELECT
Day,
month,
year,
GROUP_CONCAT(total),
GROUP_CONCAT(SP_ID)
FROM
(
SELECT
DATE_FORMAT(l.act_date, '%d') AS DAY,
DATE_FORMAT(l.act_date, '%M') AS MONTH,
EXTRACT(YEAR FROM l.act_date) AS YEAR,
COUNT(*) as total,l.sp_id
FROM lead_activity2 as l
WHERE l.act_name='scb'
AND ((l.act_date>='2012-09-07 13:03:27' )
AND (l.act_date<= '2012-11-07 13:03:27'))
GROUP BY MONTH, YEAR, DAY, l.sp_id
ORDER BY YEAR DESC, MONTH DESC, DAY DESC, l.sp_id DESC
) t GROUP BY day, month, year
SELECT
Day,
month,
year,
GROUP_CONCAT(total) Total,
GROUP_CONCAT(SP_ID) 'List of sp_ids'
FROM
(
SELECT
DATE_FORMAT(l.act_date, '%d') AS DAY,
DATE_FORMAT(l.act_date, '%M') AS MONTH,
EXTRACT(YEAR FROM l.act_date) AS YEAR,
COUNT(*) as total,
IFNULL(s.sp_id , 0) sp_id
FROM lead_activity2 as l
LEFT JOIN salesperson s ON l.sp_id = s.sp_id
WHERE l.act_name='scb'
AND ((l.act_date>='2012-09-07 13:03:27' )
AND (l.act_date<= '2012-11-07 13:03:27'))
GROUP BY MONTH, YEAR,DAY,s.sp_id
) t
ORDER BY YEAR DESC,
MONTH DESC,
DAY DESC,
sp_id DESC