On 18/11/2013 02:16, Hengky Liwandouw wrote: > Dear Friends, > > Please help for the select command, as i had tried many times and > always can not display the result as what i want. > > I am looking for the solution on google but still can not found the > right answer to solve the problem. > > I have 3 tables : > > Table A ProductID ProductName SupplierID > > Table B ProductID InitialStock > > Table C ProductID Date In Out > > 1. I want to select all productID from Table A where > supplierID='XXX'. > > 2. Based on list from Step.1 : sum the initialstock from Table B > > 3. Based on list from Step 1 : Sum (in-out) from Table C where date > <'BEGINNING DATE' > > 4. Based on list from Step 1 : Sum (in) and sum(out) from Table C > where date between 'BEGINNING DATE' and 'ENDING DATE' > > So the result will look like this : > > ProductID ProductName SumofIntialStock sum(in-Out)<beginningdate > SumofIN SumofOut xxxx xxxxxxxxxxxxx 99 > 99 99 99 xxxx > xxxxxxxxxxxxx 99 99 > 99 99 xxxx xxxxxxxxxxxxx 99 > 99 99 99 xxxx > xxxxxxxxxxxxx 99 99 > 99 99 You could try using common table expressions, which let you build up to your final result in steps. Some reading: http://www.postgresql.org/docs/9.3/static/queries-with.html http://www.chesnok.com/daily/2013/11/12/how-i-write-queries-using-psql-ctes/ Ray. -- Raymond O'Donnell :: Galway :: Ireland rod@xxxxxx -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general