Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
客户机的SQL计数特定项_Sql_Sql Server - Fatal编程技术网

客户机的SQL计数特定项

客户机的SQL计数特定项,sql,sql-server,Sql,Sql Server,我需要呈现下表,以了解客户支付了多少汉堡 顾客|汉堡1份|汉堡2份| 我有两张桌子: 客户表:带有CustomerID、名称 交易订单:带有TransactionOrderID CustomerID和BurgerCode 我有6个汉堡代码,每一个我都需要添加一列,最好的方法是什么?如果你不想使用pivot,你可以尝试这样的方法 WITH cte AS ( SELECT CustomerID, SUM(CASE WHEN BurgerCode

我需要呈现下表,以了解客户支付了多少汉堡

顾客|汉堡1份|汉堡2份|

我有两张桌子:

  • 客户表:带有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
可以发布示例数据吗?您使用什么来呈现数据?