· 8 years ago · Aug 23, 2018, 10:42 AM
1CONCAT() result unexpectedly truncated when LEFT JOIN or GROUP BY is used in query
2SELECT c.cid, c.club, c.crewno, CONCAT(c.club,c.crewno) crewcode
3 FROM `crews` c
4 LEFT JOIN `results` r ON r.rno=c.cid
5 GROUP BY c.cid;
6
754321, 'abcd', 21, 'abcd2'
865432, 'abcd', 1, 'abcd1'
9
1054321, 'abcd', 21, 'abcd21'
1165432, 'abcd', 1, 'abcd1'
12
1354321, 'abcd', 21, 'abcd21'
1465432, 'abcd', 1, 'abcd1'
15
16CREATE TABLE IF NOT EXISTS `crewsmin` (
17 `cid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
18 `club` varchar(4) NOT NULL DEFAULT '',
19 `crewno` tinyint(1) unsigned NOT NULL DEFAULT '0',
20 PRIMARY KEY (`cid`)
21) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=1;
22INSERT INTO `crewsmin` (`cid`, `club`, `crewno`) VALUES
23 (12345, 'abcd', 0),
24 (12346, 'bcde', 5),
25 (12347, 'cdef', 13),
26 (12348, 'defg', 42),
27 (12349, 'efgh', 107);
28
29CREATE TABLE `resultsmin` (
30 `rid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
31 `cid` mediumint(8) unsigned NOT NULL DEFAULT '0',
32 `result` tinyint(3) NOT NULL DEFAULT '0',
33 PRIMARY KEY (`rid`)
34) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=1;
35INSERT INTO `resultsmin` (`rid`, `cid`, `result`) VALUES
36 (1, 12345, 3),
37 (2, 12345, 1);
38
39SELECT c.cid, c.club, c.crewno, CONCAT(c.club,c.crewno) crew
40 FROM crewsmin c
41 LEFT JOIN resultsmin r ON r.cid=c.cid
42 GROUP BY c.cid;
43
44CONCAT(c.club,CAST(c.crewno AS CHAR))