Note that there are some explanatory texts on larger screens.

plurals
  1. POGet the sum of fields from a mysql table using a query
    text
    copied!<p>i have the following table in my databse..</p> <pre><code>CREATE TABLE IF NOT EXISTS `client` ( `CARD_NO` varchar(15) NOT NULL, `F_NAME` varchar(20) NOT NULL, `L_NAME` varchar(20) NOT NULL, `SEX` varchar(5) NOT NULL, `DOB` date NOT NULL, `SUBCITY` varchar(10) NOT NULL, `KEBELE` varchar(5) NOT NULL, `HOUSE_NO` varchar(10) NOT NULL, `TEL_NO` int(10) DEFAULT NULL, `REGION_NO` varchar(10) DEFAULT NULL, PRIMARY KEY (`CARD_NO`), KEY `REGION_NO` (`REGION_NO`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `client` -- INSERT INTO `client` (`CARD_NO`, `F_NAME`, `L_NAME`, `SEX`, `DOB`, `SUBCITY`, `KEBELE`, `HOUSE_NO`, `TEL_NO`, `REGION_NO`) VALUES ('1', '', '', 'male', '0000-00-00', '', '', '', NULL, '01'), ('2', '', '', 'male', '0000-00-00', '', '', '', NULL, '02'), ('3', '', '', 'femal', '0000-00-00', '', '', '', NULL, '03'), ('4', '', '', 'femal', '0000-00-00', '', '', '', NULL, '04'), ('5', '', '', 'male', '0000-00-00', '', '', '', NULL, '05'), ('6', '', '', 'male', '0000-00-00', '', '', '', NULL, '05'); -- -------------------------------------------------------- -- -- Table structure for table `non_pregnant` -- CREATE TABLE IF NOT EXISTS `non_pregnant` ( `VCT_CODE` varchar(15) NOT NULL, `CARD_NO` varchar(15) DEFAULT NULL, `RISK_OF_HIV` varchar(30) NOT NULL, `PURPOSE` varchar(10) NOT NULL, PRIMARY KEY (`VCT_CODE`), KEY `CARD_NO` (`CARD_NO`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `non_pregnant` -- INSERT INTO `non_pregnant` (`VCT_CODE`, `CARD_NO`, `RISK_OF_HIV`, `PURPOSE`) VALUES ('1', '1', '', ''), ('2', '2', '', ''), ('3', '3', '', ''), ('4', '4', '', ''), ('5', '5', '', ''), ('6', '6', '', ''); -- -------------------------------------------------------- -- -- Table structure for table `non_pregnant_vct` -- CREATE TABLE IF NOT EXISTS `non_pregnant_vct` ( `VCT_CODE` varchar(15) NOT NULL DEFAULT '', `DATE_TESTED` date DEFAULT NULL, `TB_RESULT` varchar(10) NOT NULL, `HIV_RESULT` varchar(10) NOT NULL, `STD_RESULT` varchar(10) NOT NULL, PRIMARY KEY (`VCT_CODE`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `non_pregnant_vct` -- INSERT INTO `non_pregnant_vct` (`VCT_CODE`, `DATE_TESTED`, `TB_RESULT`, `HIV_RESULT`, `STD_RESULT`) VALUES ('1', NULL, '', 'pos', ''), ('2', NULL, '', 'pos', ''), ('3', NULL, '', 'neg', ''), ('4', NULL, '', 'neg', ''), ('5', NULL, '', 'neg', ''), ('6', NULL, '', 'pos', ''); -- -------------------------------------------------------- -- -- Table structure for table `region` -- CREATE TABLE IF NOT EXISTS `region` ( `REGION_NO` varchar(10) NOT NULL, `REGION_NAME` varchar(10) NOT NULL, PRIMARY KEY (`REGION_NO`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `region` -- INSERT INTO `region` (`REGION_NO`, `REGION_NAME`) VALUES ('01', 'washington'), ('02', 'newyork'), ('03', 'london'), ('04', 'paris'), ('05', 'burlin'); </code></pre> <p>here is what i want as output..</p> Region Female Male Total Test Positive Test Positive Test Positive &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <p>and this is the query i tried to figure it out but still wrong..</p> <pre><code>SELECT r.region_name, c.sex = 'male' as counting, c.sex = 'femal' as counting, v.hiv_result = 'pos' as MalePos from region r left join client c on c.region_no = r.region_no left join non_pregnant p on c.card_no = p.card_no left join non_pregnant_vct v on p.vct_code = v.vct_code group by c.region_no; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload