· 8 years ago · Feb 23, 2018, 09:28 AM
1CREATE TABLE IF NOT EXISTS `nl_stores` (
2 cultureid INT(10) NOT NULL,
3 name VARCHAR(150) NOT NULL
4) DEFAULT CHARSET=utf8;
5
6SELECT cultureid, name FROM nl_stores GROUP BY name HAVING(COUNT(cultureid) = 1);
7
8SELECT nl_stores.cultureid, nl_stores.name FROM nl_stores WHERE !EXISTS(SELECT 1 FROM nl_stores AS nl_stores_dummy WHERE nl_stores_dummy.name = nl_stores.name AND nl_stores_dummy.cultureid != nl_stores.cultureid);
9
10SELECT nl_stores.cultureid, nl_stores.name FROM nl_stores LEFT JOIN nl_stores AS nl_stores_dummy ON nl_stores_dummy.name = nl_stores.name WHERE nl_stores_dummy.cultureid IS NULL;
11
12CREATE TABLE IF NOT EXISTS `nl_cultures` (
13 cultureid INT(10) NOT NULL,
14 culture_name VARCHAR(150) NOT NULL
15) DEFAULT CHARSET=utf8;
16INSERT INTO `nl_cultures` (`cultureid`, `culture_name`) VALUES
17 ('4', 'Culture 1'),
18 ('5', 'Culture 2');
19
20CREATE TABLE IF NOT EXISTS `nl_stores` (
21 cultureid INT(10) NOT NULL,
22 name VARCHAR(150) NOT NULL,
23 `status` TINYINT(1) NOT NULL
24) DEFAULT CHARSET=utf8;
25
26SELECT nl_cultures.culture_name, nl_stores.name AS store_name
27FROM nl_cultures
28INNER JOIN nl_stores ON nl_stores.cultureid = nl_cultures.cultureid
29WHERE nl_stores.status = 1
30GROUP BY nl_stores.name
31HAVING(COUNT(nl_stores.cultureid) = 1);