mysql - Ordering Records by the contents of Related Table -
i have 2 tables. 1 salesman , other sales wish order output of query alpha sort of name of salesman.
here table structure:
create table `salesman` ( `id` int not null auto_increment , `name` varchar(45) null , primary key (`id`) ); insert `salesman` (`name`) values ('bill'); insert `salesman` (`name`) values ('john'); insert `salesman` (`name`) values ('dave'); insert `salesman` (`name`) values ('mark'); create table `sales` ( `id` int not null auto_increment , `item` int varchar(45) null , `salemesman_id` int null , `total` int null , primary key (`id`) ); insert `sales` (`item`, `salemesman_id`, `total`) values ('pen', '3', '14'); insert `sales` (`item`, `salemesman_id`, `total`) values ('rat', '1', '12'); insert `sales` (`item`, `salemesman_id`, `total`) values ('car', '2', '1230'); insert `sales` (`item`, `salemesman_id`, `total`) values('rabbit', '2', '11'); insert `sales` (`item`, `salemesman_id`, `total`) values('towel', '1', '6'); insert `sales` (`item`, `salemesman_id`, `total`) values('vaporware', '4','900'); because names in salesmen in alpha order are: bill, dave, john, mark
i need output be
rat 1 12 (bill = 1) towel 1 6 (bill = 1) pen 3 14 (dave = 3) car 2 1230 (john = 2) rabbit 2 11 (john = 2) vaporware 4 900 (mark = 4)
you can want joining tables together:
select s.* sales s join salesman sm on s.salesman_id = sm.id order sm.name, sm.id; i feel need add table name "salesman" seems unnecessarily restrictive half human race.
Comments
Post a Comment