· 5 years ago · Dec 03, 2020, 10:22 AM
1CREATE TABLE `move` (
2 `land_first` VARCHAR(50) NULL DEFAULT NULL COLLATE 'armscii8_bin',
3 `land_second` VARCHAR(50) NULL DEFAULT NULL COLLATE 'armscii8_bin',
4 `x` INT(11) NOT NULL DEFAULT '0',
5 `y` INT(11) NOT NULL DEFAULT '0'
6)
7COLLATE='armscii8_bin'
8ENGINE=InnoDB;
9
10CREATE TABLE `packs` (
11 `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
12 `land_label` VARCHAR(50) NOT NULL COLLATE 'utf8_general_ci',
13 `x` INT(11) NOT NULL,
14 `y` INT(11) NOT NULL,
15 PRIMARY KEY (`id`) USING BTREE,
16 UNIQUE INDEX `coords` (`x`, `y`) USING BTREE
17)
18COLLATE='utf8_general_ci'
19ENGINE=MyISAM
20AUTO_INCREMENT=257042;
21
22
23#запрос
24
25
26DROP TABLE if EXISTS `#plots`;
27DROP TABLE if EXISTS `#plots2`;
28
29CREATE TABLE `#plots`
30(
31id INT(11) NOT NULL AUTO_INCREMENT,
32x INT ,
33y INT,
34KEY (`id`)
35);
36
37INSERT INTO `#plots` (x,y)
38VALUES (1029,260),(0,0);
39
40create TABLE `#plots2` AS (SELECT A.x,A.y FROM `#plots` AS A
41INNER JOIN packs AS B ON A.x=B.x AND A.y=B.y
42);
43
44SELECT A.x,A.y FROM `#plots` AS A
45left join `#plots2` AS B ON A.x = B.x AND A.y = B.y where B.y is NULL AND B.x IS NULL
46LEFT JOIN `move` AS M ON A.x = M.x AND A.y = M.y where M.y is NULL AND M.x IS NULL;
47
48DROP TABLE `#plots`;
49DROP TABLE `#plots2`;
50
51