客户机的SQL计数特定项
我需要呈现下表,以了解客户支付了多少汉堡 顾客|汉堡1份|汉堡2份| 我有两张桌子:客户机的SQL计数特定项,sql,sql-server,Sql,Sql Server,我需要呈现下表,以了解客户支付了多少汉堡 顾客|汉堡1份|汉堡2份| 我有两张桌子: 客户表:带有CustomerID、名称 交易订单:带有TransactionOrderID CustomerID和BurgerCode 我有6个汉堡代码,每一个我都需要添加一列,最好的方法是什么?如果你不想使用pivot,你可以尝试这样的方法 WITH cte AS ( SELECT CustomerID, SUM(CASE WHEN BurgerCode
- 客户表:带有CustomerID、名称
- 交易订单:带有TransactionOrderID CustomerID和BurgerCode
我有6个汉堡代码,每一个我都需要添加一列,最好的方法是什么?如果你不想使用pivot,你可以尝试这样的方法
WITH cte AS
(
SELECT
CustomerID,
SUM(CASE WHEN BurgerCode LIKE 'BurgerCode1' THEN 1 ELSE 0 END) AS Burger1Qty,
SUM(CASE WHEN BurgerCode LIKE 'BurgerCode2' THEN 1 ELSE 0 END) AS Burger2Qty,
SUM(CASE WHEN BurgerCode LIKE 'BurgerCode3' THEN 1 ELSE 0 END) AS Burger3Qty,
SUM(CASE WHEN BurgerCode LIKE 'BurgerCode4' THEN 1 ELSE 0 END) AS Burger4Qty,
SUM(CASE WHEN BurgerCode LIKE 'BurgerCode5' THEN 1 ELSE 0 END) AS Burger5Qty,
SUM(CASE WHEN BurgerCode LIKE 'BurgerCode6' THEN 1 ELSE 0 END) AS Burger6Qty
FROM TransactionOrders
GROUP BY CustomerID
)
SELECT c.*, ct.Name CustomerName FROM cte c JOIN CustomerTable ct ON ct.CustomerID = c.CustomerID
使用
pivot
可以发布示例数据吗?您使用什么来呈现数据?