2

我有一个 mysql 数据库,其中存储了一些产品的报价文件,这些产品清楚地定义了每种产品的价格,还有一个合同表,用于存储合同详细信息以及它所属的客户代码和报价代码。我有以下查询,看看报价单的总价是多少写在发票上:

select
   sum(sqproducts.price * sqproducts.quantity) as 'total-price',
   squotations.currency as 'currency'
from
  sqproducts,
  ccontracts,
  squotations
where 
  sqproducts.contracted=1
  AND squotations.code=sqproducts.quotation_code
  AND sqproducts.quotation_code=ccontracts.squotation_code
  AND sqproducts.quotation_code='QUOT/2012/1'
group by
  currency

以下是 sqproducts 表(关于报价中命名的产品的详细信息)

但我得到的这个结果是不正确的(它必须是 1500 美元)

4

1 回答 1

0

它是盲目的,试试这个:

select
   sum(sqproducts.price * sqproducts.quantity) as 'total-price',
   squotations.currency as 'currency'
from
  sqproducts 
inner join squotations on (squotations.code=sqproducts.quotation_code)
inner join ccontracts on (sqproducts.quotation_code=ccontracts.squotation_code)

where 
  sqproducts.contracted=1
  AND sqproducts.quotation_code='QUOT/2012/1'
group by
  squotations.currency
于 2012-07-01T15:13:49.737 回答