表达式中的表达式 SQL

Expressions with in Expressions SQL

首先我要为我的屠杀道歉 SQL。这里是新手。

这是我的问题。

   SELECT Day,
    COUNT(CASE WHEN
          Shopping.Fruits Like '%1%'
            THEN
              'DewBerry'
        WHEN
          Shopping.Fruits Like '%2%'
            THEN
              'Kiwi'
         WHEN 
            Shopping.Fruits Like '%3%'
             THEN
               'Tangerine'
         ELSE
            'Inactive'
      END) AS Total, ***Total As FruitType***
    FROM Shopping
    GROUP BY Day
    ORDER BY Day desc

除了我用“***”包围的部分外,一切正常,我正在尝试显示 FruitType 字段。我的尝试没有奏效。我觉得它是我忽略的小东西,但我似乎无法理解它。

这是我得到的 Total As FruitType

Day             Total
9/11/2018 0:00  24
9/10/2018 0:00  113
9/9/2018 0:00   17
9/7/2018 0:00   62
9/6/2018 0:00   94
9/5/2018 0:00   15

任何帮助,

谢谢....

这看起来像

  SELECT 
    Day,
    SUM(CASE WHEN Shopping.Fruits Like '%1%' THEN 1
             ELSE 0  
         END
       ) AS DewBerry_Count,
    SUM(CASE WHEN Shopping.Fruits Like '%2%' THEN 1
             ELSE 0  
         END
       ) AS Kiwi_Count,
    SUM(CASE WHEN Shopping.Fruits Like '%3%' THEN 1
             ELSE 0  
         END
       ) AS Tangerine_Count,
    SUM(CASE WHEN Shopping.Fruits NOT LIKE '%1%'
              AND Shopping.Fruits NOT LIKE '%2%'
              AND Shopping.Fruits NOT LIKE '%3%' THEN 1
             ELSE 0  
         END
       ) AS Inactive_Count
    FROM ScreeningManu
    GROUP BY Day
    ORDER BY Day desc

这是你想要做的吗?

SELECT s.Day,
       (CASE WHEN s.Fruits Like '%1%' THEN 'DewBerry'
             WHEN s.Fruits Like '%2%' THEN 'Kiwi'
             WHEN s.Fruits Like '%3%' THEN 'Tangerine'
            ELSE 'Inactive'
       END) as FruitType,
      COUNT(*) AS Total
FROM ScreeningManu s
GROUP BY s.Day,
         (CASE WHEN s.Fruits Like '%1%' THEN 'DewBerry'
               WHEN s.Fruits Like '%2%' THEN 'Kiwi'
               WHEN s.Fruits Like '%3%' THEN 'Tangerine'
               ELSE 'Inactive'
          END)
ORDER BY s.Day DESC;