我需要一个查询,显示工作人员尚未获得工资的工作ID,但公司已获得工资。以下是表格列和示例数据:
tblInvoices columns:
-------------------
JobID
InvoiceID
WorkerPaidAmountTotal
CompanyPaidAmountTotal
Sample data
-----------
JobID | InvoiceID | WorkerPaidAmountTotal | CompanyPaidAmountTotal
1 30 100 150
1 31 0 100
2 32 0 75
3 33 25 50
3 34 10 30
4 35 0 0
我知道如何获得支付给工人或公司的金额的总和。结果如下所示:
JobID Worker Company
1 100 250
2 0 75
3 35 80
4 0 0
但我需要的是JobIDs的结果,其中Worker有0,公司> 0。我想要的结果应该是这样,但我无法弄清楚这样做的查询:
JobID Worker Company
2 0 75
答案 0 :(得分:1)
使用HAVING
子句过滤组。试试这个:
SELECT jobid,
Worker=Sum(WorkerPaidAmountTotal),
Company=Sum(CompanyPaidAmountTotal)
FROM tablename
GROUP BY jobid
HAVING Sum(WorkerPaidAmountTotal) = 0
AND Sum(CompanyPaidAmountTotal) > 0
答案 1 :(得分:0)
select jobid, worker, company where WorkerPaidAmountTotal = 0 and CompanyPaidAmountTotal
似乎很明白这样做......可能是我确实理解了这个问题