sql - MS Access Query to output all values and treat unavailable values as zero -
i've created query ms access 2010 intended take fuel types (all values) each date. have query relationship below: ) , have following 6 values fuel type: diesel #2, msfo, ulsd, biodiesel, used oil, heat recovery.
i'm trying output fuel delivery each fuel type each date regardless if there's fuel delivered date ,
. i'm getting output below
.
i have tried change relationships such values on tbl_fueltype output. gave me output on figure above. i've tried entering criteria specific fuel type (e.g. "ulsd") if there's no data day, output null values, don't want. see criteria below i've tried program flow functions such iif , switch still getting null values. there easy way without having go table , filling out values zero's different fuel types on tbl_fueldelivery? sql view follows:
select tbl_fueldelivery.datelog, sum(nz([tbl_fueldelivery].[f_fo_gal_gross],0)) fuel_delivery_gross, sum(nz([tbl_fueldelivery].[f_fo_gal_net],0)) fuel_delivery_net, tbl_fueltype.fueltype tbl_fueltype left join tbl_fueldelivery on tbl_fueltype.id = tbl_fueldelivery.fueltype group tbl_fueldelivery.datelog, tbl_fueltype.fueltype order tbl_fueldelivery.datelog;
what need add query table dates. can have separate table dates entered, such calendar table or have derived tbl_fueldelivery
this:
select distinct tbl_fueldelivery.datelog tbl_fueldelivery;
now, need cross join table tbl_fueltype. access not natively support cross joins, you'll have use workaround: add cross join comma separated table clause:
select a.datelog, tbl_fueltype.fueltype, tbl_fueltype.id (select distinct tbl_fueldelivery.datelog tbl_fueldelivery) a, tbl_fueltype;
the query above give fuel types dates. can save new query (let's call alldatesfuels). now, need join query:
select alldatesfuels.datelog, sum(nz([tbl_fueldelivery].[f_fo_gal_gross],0)) fuel_delivery_gross, sum(nz([tbl_fueldelivery].[f_fo_gal_net],0)) fuel_delivery_net, alldatesfuels.fueltype alldatesfuels left join tbl_fueldelivery on alldatesfuels.id = tbl_fueldelivery.fueltype , alldatesfuels.datelog = tbl_fueldelivery.datelog group alldatesfuels.datelog, alldatesfuels.fueltype order alldatesfuels.datelog;
Comments
Post a Comment