2

I have these tables:

doodhiya

dhid INTEGER PRIMARY KEY NOT NULL, 
dname TEXT NOT NULL, 
dfname TEXT NOT NULL, 
dage INTEGER NOT NULL, 
dadd TEXT, 
dphone INTEGER NOT NULL, 
demail TEXT NOT NULL

doodhdata

dtid INTEGER PRIMARY KEY NOT NULL, 
ddate INTEGER NOT NULL, 
dmonth INTEGER NOT NULL,
dyear INTEGER NOT NULL, 
dmilk INTEGER NOT NULL, 
dprice INTEGER NOT NULL default 35 , 
dmore TEXT, 
ddhid INTEGER NOT NULL

pricemilk

pid INTEGER PRIMARY KEY NOT NULL, 
pmonth INTEGER NOT NULL, 
pyear INTEGER NOT NULL, 
milkprice INTEGER NOT NULL, 
typeperson TEXT, 
userid INTEGER, 
gheeprice INTEGER, 
defaultprice TEXT

cashdata

cashid INTEGER PRIMARY KEY NOT NULL,
cashdate INTEGER NOT NULL, 
cashmonth INTEGER NOT NULL, 
cashyear INTEGER NOT NULL, 
cashamount INTEGER NOT NULL, 
uid INTEGER NOT NULL, 
utype TEXT NOT NULL, 
cashtype TEXT NOT NULL, 
cashmore TEXT

I want to make a monthly bill and I am succeed buy using it... but in a bill how can i show last month balance....I am trying to use it

 SELECT
  ddhid, dmonth, dyear, dmilk,
  userid, pmonth, pyear, milkprice, 
  uid, cashmonth, cashyear, cashamount, utype, 
  SUM(dmilk) AS totalmilk,  
  SUM(dmilk*milkprice) AS totalamount, 
  SUM(cashamount) AS totalcash
  FROM 
 doodhdata 
 LEFT JOIN pricemilk ON (
   doodhdata.ddhid = pricemilk.userid 
   AND doodhdata.dmonth = pricemilk.pmonth 
   AND doodhdata.dyear = pricemilk.pyear
 )
 LEFT JOIN cashdata ON (
   doodhdata.ddhid = cashdata.uid 
   AND doodhdata.dmonth = cashdata.cashmonth 
   AND doodhdata.dyear = cashdata.cashyear
 )
 WHERE 
   dmonth > '$mikdatem' 
   AND dyear='$mikdatey' 
   AND ddhid='$dhid'

But I want to use defaultprice when milkprice is NULL....how it is possible...?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Imran Khan
  • 63
  • 9

1 Answers1

1

Use

COALESCE(milkprice, defaultprice)

in place of milkprice in your query.

See SQLite core functions documentation.

Doug Currie
  • 40,708
  • 1
  • 95
  • 119