· 9 years ago · Oct 07, 2016, 12:32 PM
1CREATE TABLE IF NOT EXISTS `tabel_1` (
2 `id` int(11) NOT NULL AUTO_INCREMENT,
3 PRIMARY KEY (`id`)
4) ENGINE=InnoDB DEFAULT CHARSET=utf8;
5
6CREATE TABLE IF NOT EXISTS `tabel_2` (
7 `id` int(11) NOT NULL AUTO_INCREMENT,
8 `tabel1_id` int(11) NOT NULL DEFAULT '0',
9 `txt` text NOT NULL,
10 PRIMARY KEY (`id`),
11 KEY `tabel1_id` (`tabel1_id`),
12 FULLTEXT KEY `text` (`txt`)
13) ENGINE=MyISAM DEFAULT CHARSET=utf8;
14
15CREATE TABLE IF NOT EXISTS `tabel_3` (
16 `id` int(11) NOT NULL AUTO_INCREMENT,
17 `tabel1_id` int(11) NOT NULL DEFAULT '0',
18 PRIMARY KEY (`id`),
19 KEY `tabel1_id` (`tabel1_id`)
20) ENGINE=InnoDB DEFAULT CHARSET=utf8;
21
22CREATE TABLE IF NOT EXISTS `tabel_3a` (
23 `id` int(11) NOT NULL AUTO_INCREMENT,
24 `tabel3_id` int(11) NOT NULL DEFAULT '0',
25 `txt` text NOT NULL,
26 PRIMARY KEY (`id`),
27 KEY `tabel3_id` (`tabel3_id`),
28 FULLTEXT KEY `text` (`txt`)
29) ENGINE=InnoDB DEFAULT CHARSET=utf8;
30
31CREATE TABLE IF NOT EXISTS `tabel_4` (
32 `id` int(11) NOT NULL AUTO_INCREMENT,
33 `tabel1_id` int(11) NOT NULL DEFAULT '0',
34 PRIMARY KEY (`id`),
35 KEY `tabel1_id` (`tabel1_id`)
36) ENGINE=InnoDB DEFAULT CHARSET=utf8;
37
38CREATE TABLE IF NOT EXISTS `tabel_4a` (
39 `id` int(11) NOT NULL AUTO_INCREMENT,
40 `tabel4_id` int(11) NOT NULL DEFAULT '0',
41 `txt` text NOT NULL,
42 PRIMARY KEY (`id`),
43 KEY `tabel4_id` (`tabel4_id`),
44 FULLTEXT KEY `text` (`txt`)
45) ENGINE=InnoDB DEFAULT CHARSET=utf8;
46
47SELECT * FROM tabel_1 t1
48INNER JOIN (
49 (SELECT t2.tabel1_id AS t1_id, t2.txt AS txt
50 FROM tabel_2 t2
51 WHERE MATCH (t2.txt) AGAINST ('ipsum') LIMIT 100,10)
52 UNION ALL
53 (SELECT t3.tabel1_id, t3a.txt
54 FROM tabel_3 t3
55 INNER JOIN tabel_3a t3a ON t3.id = t3a.tabel3_id
56 WHERE MATCH (t3a.txt) AGAINST ('ipsum') LIMIT 100,10)
57 UNION ALL
58 (SELECT t4.tabel1_id, t4a.txt
59 FROM tabel_4 t4
60 INNER JOIN tabel_4a t4a ON t4.id = t4a.tabel4_id
61 WHERE MATCH (t4a.txt) AGAINST ('ipsum') LIMIT 100,10)
62 -- ... etc
63) tbl_txt ON tbl_txt.t1_id = t1.id;