Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Mysql 计数(不同(在(';A';,';B';)中时的大小写)_Mysql - Fatal编程技术网

Mysql 计数(不同(在(';A';,';B';)中时的大小写)

Mysql 计数(不同(在(';A';,';B';)中时的大小写),mysql,Mysql,大家好,我想知道是否有人可以在以下方面提供帮助: SELECT HOST_ORDER_NO, EARLIEST_PICK_DATE, PRODUCT_NO, PRODUCT_NUM_PARTS, PRODUCT_WHS_LOCATION, COUNT(DISTINCT(CASE WHEN LEFT(PRODUCT_WHS_LOCATION,1) IN ('A','B','C','K','M','N') THEN 'BULK' WHEN LEFT(PRODUC

大家好,我想知道是否有人可以在以下方面提供帮助:

SELECT
  HOST_ORDER_NO,
  EARLIEST_PICK_DATE,
  PRODUCT_NO,
  PRODUCT_NUM_PARTS,
  PRODUCT_WHS_LOCATION,
  COUNT(DISTINCT(CASE 
   WHEN LEFT(PRODUCT_WHS_LOCATION,1) IN ('A','B','C','K','M','N') THEN 'BULK'
   WHEN LEFT(PRODUCT_WHS_LOCATION,1) IN ('D','E','F') THEN 'TEN'
   WHEN LEFT(PRODUCT_WHS_LOCATION,1) IN ('G','H','I','J','L') THEN 'TENSMALL'
   ELSE 'SIP' END) AS 'ZONE',
  MAX(COLLATION_INDICATOR),
  COLLATION_GROUP_ID,
  CASE WHEN COUNT(HOST_ORDER_NO)=1 THEN 'SingleOrder' ELSE 'MultiItem' END AS 'OrderType',
  COUNT(*) AS 'ItemsInOrder',
  YEARWEEK
FROM wk19
  WHERE YearWeek = '201717'
  GROUP BY HOST_ORDER_NO
  HAVING OrderType = 'MultiItem'
  ORDER BY HOST_ORDER_NO, COLLATION_GROUP_ID, MAX(COLLATION_INDICATOR);
我的错误是case station我希望能够看到订单来自仓库中的多少不同区域。该语句的其余部分工作正常,但如果我需要更深入地了解它,我可以做更多的工作。

您的
case
表达式只是缺少括号。在
distinct
之后不需要paren,因此:

COUNT(DISTINCT CASE WHEN LEFT(PRODUCT_WHS_LOCATION,1) IN ('A','B','C','K','M','N') THEN 'BULK'
                    WHEN LEFT(PRODUCT_WHS_LOCATION,1) IN ('D','E','F') THEN 'TEN'
                    WHEN LEFT(PRODUCT_WHS_LOCATION,1) IN ('G','H','I','J','L') THEN 'TENSMALL'
                     ELSE 'SIP'
               END) AS ZONE,

一句忠告:字符串和日期只能使用单引号。列别名不能使用单引号。

可以添加db模式吗?为什么列名都是大写的?这是db管理员学习时从一个非常旧的表中得到的