2 tables are RetailOutlet and SalesMan, both are connected by ROID, ROID is primary, unique for Retail Outlet.
Salesman has primary key SID, but also has foreign key ROID.
http://sqlfiddle.com/#!9/b1cd8a
CREATE TABLE IF NOT EXISTS `RetailOutlet` (
`id` int(6) unsigned NOT NULL,
`year` int(4) unsigned NOT NULL,
`location` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
INSERT INTO `RetailOutlet` (`id`, `year`, `location`) VALUES
('1', '1994', 'oregon'),
('2', '1990', 'amazon'),
('3', '2004', 'california'),
('4', '1997', 'newyork');
CREATE TABLE IF NOT EXISTS `SalesMan` (
`sid` int(6) unsigned NOT NULL,
`sname` varchar(200) NOT NULL,
`manager` int(4) unsigned NOT NULL,
`id` int(6) unsigned NOT NULL,
PRIMARY KEY (`sid`),
FOREIGN KEY (`id`)
) DEFAULT CHARSET=utf8;
INSERT INTO `SalesMan` (`sid`, `sname`, `manager`, `id`) VALUES
('1', 'john', 'fingao', '2'),
('2', 'bekc', 'dilda', '3'),
('3', 'aaa', 'elda', '4'),
('4', 'erjan', 'rrrrokcks', '1');
My query was to get stores not in New York and where there is only 1 salesman, display in alphabetical order by name.
SELECT * FROM SalesMan s INNER JOIN RetailOutlet r ON
s.ROID = r.ROID where count(s.SID) = 1 and
r.Location NOT LIKE 'New York' order by s.sname desc
I can't figure out what's not working.