0
    select  Products.prodname, sum( billdetail.Qty) as qty,BillDetail.rate, 
    sum(billdetail.amt) as Amt from billdetail
    inner join products 
    on products.prodid = billdetail.prodid
    inner join category
    on category.catid = products.catid
    inner join billmaster 
    on billmaster.BillID = BillDetail.BillID
    where billmaster.billdate between 1/08/2017 and 19/09/2017 and CatName = 
    'chicken'
    group by prodname,rate

我的问题是当我包含日期参数时它停止工作。我怎样才能包括它们?

4

3 回答 3

1

首先,作为字符串文字的日期必须用单引号括起来-其次,我建议始终使用YYYYMMDD适用于任何语言/区域设置的 ISO-8601 格式(其他格式取决于当前语言/区域设置,可能在某些系统上有效,但在其他系统上失败)。

所以试试:

WHERE
    billmaster.billdate BETWEEN '20170801' AND '20170919'
于 2017-09-19T11:14:10.180 回答
0

日期需要 '' = '1/08/2017' 和 '19/09/2017'

加入前还需要 from 子句

于 2017-09-19T11:13:21.323 回答
0

日期和字符串文字应包含在两个之间''

select  
  Products.prodname, 
  sum( billdetail.Qty) as qty,
  BillDetail.rate, 
  sum(billdetail.amt) as Amt 
from billdetail
inner join products on products.prodid = billdetail.prodid
inner join category on category.catid = products.catid
inner join billmaster on billmaster.BillID = BillDetail.BillID
where billmaster.billdate between '20170801' and '20170919' 
  and CatName = 'chicken'
group by prodname,rate;

此外,建议使用 iso 标准格式来格式化这些日期值的值。

于 2017-09-19T11:12:41.727 回答