从mysql操作'concat'的非法混合归类

时间:2015-10-19 11:19:26

标签: mysql

从mysql操作'concat'的非法混合归类。

select (select case when e._type='Call Log' then concat(d.firstname,' ',d.lastname,' ','Scheduled a Call On',' ',
e.logdate)
 when e._type='Meeting' then concat(d.firstname,' ',d.lastname,' ','Scheduled a Meeting  On', ' ',
 e.logdate) when e._type='Mail Log' then concat(d.firstname,' ',d.lastname,' ','Scheduled Mail On',' ',
 e.logdate) end  from schedulelog e where e.log_gid=a.log_gid) from log a
inner join employee b on a.log_by=b.user_gid
 inner join user d on a.log_by=d.user_gid;

这是我的创建表查询

 `CREATE TABLE  `schedulelog` ( `log_gid` varchar(64) NOT NULL,  `bank_gid` varchar(64) default NULL,`logdate` date default NULL,      `_type` varchar(32) default NULL,`log_gid` varchar(64) default NULL,
  `status_flag` varchar(1) default NULL, `schedule_time` varchar(32) default NULL,`followup_type` varchar(64) default NULL,`product_gid` varchar(64) default NULL, `assign_to` varchar(64) default NULL,
  PRIMARY KEY  (`log_gid`), KEY `Index_2` (`bank_gid`),    
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AVG_ROW_LENGTH=2730;`

2 个答案:

答案 0 :(得分:0)

请使用GROUP_CONCAT代替concat

我认为这会解决你的问题

答案 1 :(得分:0)

在您的情况下,您尝试在noneString类型(日期/时间/ Int)字段上使用字符串类型(varchar / text)集合,并且您会收到此错误。您需要做的是查看您在条件中使用这些noneString字段的位置并将它们放在这样的位置。

WHERE (CONVERT(`Here coms the name of the column` USING utf8)