· 8 years ago · Nov 15, 2017, 12:08 PM
1CREATE TABLE IF NOT EXISTS `t_model_tmp` (
2`id_model` int(11) NOT NULL AUTO_INCREMENT,
3`id_mark` int(11) DEFAULT '1',
4`model` varchar(40) NOT NULL,
5PRIMARY KEY (`id_model`)
6);
7
8INSERT INTO `t_model_tmp` (`id_model`, `id_mark`, `model`) VALUES
9(1230, 59, '9-4x'),
10(1231, 59, '9-5'),
11(1232, 59, '9-7'),
12(1233, 59, '90'),
13(1234, 59, '900'),
14(1235, 59, '9000');
15
16--------------------------------------------
17
18CREATE TABLE IF NOT EXISTS `t_mark_tmp` (
19`id_auto` int(11) NOT NULL DEFAULT '0',
20`mark_a` varchar(100) DEFAULT NULL,
21`mark_t` varchar(40),
22`id_mark_t` int(11) DEFAULT '0',
23`model_a` varchar(100) DEFAULT NULL
24) ENGINE=InnoDB DEFAULT CHARSET=utf8;
25
26INSERT INTO `t_mark_tmp` (`id_auto`, `mark_a`, `mark_t`, `id_mark_t`, `model_a`) VALUES
27(84, 'Saab', 'Saab', 59, '900 Cabriolet'),
28(384, 'Saab', 'Saab', 59, '9-5 3.0 TiD');
29
30SELECT
31t_mark_tmp.id_auto,
32t_mark_tmp.mark_a,
33t_mark_tmp.mark_t,
34t_mark_tmp.id_mark_t,
35t_mark_tmp.model_a,
36t_model_tmp.model AS model_t,
37t_model_tmp.id_model AS id_model_t
38FROM
39t_mark_tmp
40LEFT OUTER JOIN t_model_tmp ON t_mark_tmp.id_mark_t = t_model_tmp.id_mark
41AND t_mark_tmp.model_a LIKE concat(t_model_tmp.model,'%')
42GROUP BY
43id_auto;