我试图返回完全拒绝的不同发票的数量。发票可以包含多个订单项。如果发票的某个订单项的原因为'无',另一个'已拒绝',那么它不会被完全拒绝,因此不应计入。SQL Server计数查询比较结果总数
我想要的结果是合乎逻辑地
Client | No. of Invoices Fully Rejected
-------------------------------------------
Schogotten | 1
Maiken | 2
,我相信我回到那里的线项目总数等于其中的原因是每张发票的发票被拒绝的次数发票的数量。
这里是SQL Fiddle
MS SQL Server 2008的架构设置:
CREATE TABLE Tmp (
id int NOT NULL,
client varchar (24) NOT NULL,
invoice varchar(5) NOT NULL,
statusid int NOT NULL,
reason varchar (24)
)
INSERT INTO Tmp (id, client, invoice, statusid, reason)
VALUES (12345, 'Schogotten', 'ABC12', -99, 'Rejected')
, (12346, 'Schogotten', 'ABC12', -99, 'None')
, (12347, 'Schogotten', 'ABC12', 10001, 'ReadyToPay')
, (12348, 'Schogotten', 'ABC11', -99, 'Rejected')
, (12349, 'Schogotten', 'ABC10', -99, 'None')
, (12350, 'Maiken', 'ABC13', -99, 'Rejected')
, (12351, 'Maiken', 'ABC14', 9006, 'ReadyToPay')
, (12351, 'Maiken', 'ABC14', -99, 'None')
, (12352, 'Maiken', 'ABC15', -99, 'Rejected');
查询1:
SELECT Client
, COUNT(Invoice)
FROM Tmp
WHERE Reason = 'Rejected'
GROUP BY Client
| CLIENT | COLUMN_1 |
|------------|----------|
| Maiken | 2 |
| Schogotten | 2 |
您是否知道SQL小提琴在“Run SQL”按钮上有一个“Markdown Ouptut”选项,您可以简单地将其粘贴到上述问题中? – Tanner 2014-10-29 11:06:10
@坦纳我现在。感谢您的关注。 – user1773949 2014-10-29 11:34:28