Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 MS接入开关盒_Sql_Ms Access_Switch Statement - Fatal编程技术网

Sql MS接入开关盒

Sql MS接入开关盒,sql,ms-access,switch-statement,Sql,Ms Access,Switch Statement,我想询问有关ms access中的选定案例。我得到的是db2 有人可以帮助更改ms access 2000的sql吗 SELECT DISTINCT CASE WHEN STORECODE='JPAT' THEN CASE WHEN PARTNO LIKE 'A%' THEN ITEMNAME||'(NIV-'||SECTIONNO||')' WHEN PARTNO LIKE 'STSB%' THEN

我想询问有关ms access中的选定案例。我得到的是db2 有人可以帮助更改ms access 2000的sql吗

SELECT DISTINCT 

    CASE WHEN STORECODE='JPAT' THEN

        CASE WHEN PARTNO LIKE 'A%' THEN 

            ITEMNAME||'(NIV-'||SECTIONNO||')'

            WHEN PARTNO LIKE 'STSB%' THEN 

        ITEMNAME||' (NIV-'||SECTIONNO||')'

    ELSE

        ITEMNAME||'('||PARTNO||'-'||SECTIONNO||')'

    END

ELSE

ITEMNAME||'('||PARTNO||'-'||SECTIONNO||')'

END

    AS INPUTTEXT,

        IDX||':'||PARTNO||':'||BATCHNO||':'||ITEMTYPECODE||':'||TOOLTYPECODE||':'||ITEMCATEGORYCODE||':'||MATERIALTYPECODE||':'||SECTIONNO AS INPUTVAL

from ITEM  where idx > 0   and (storecode)='JPAT'

谢谢在MS Access中,这看起来像:

SELECT DISTINCT 
       IIF(PARTNO LIKE 'A*', ITEMNAME & "(NIV-" & SECTIONNO & ")"
           IIF(PARTNO LIKE "STSB*", ITEMNAME & " (NIV-" & SECTIONNO & ")"
               ITEMNAME & "(" & PARTNO & "-" & SECTIONNO & ")"
              )
          ) AS INPUTTEXT,
    (IDX & ":" & PARTNO & ":" & BATCHNO & ":" & ITEMTYPECODE & ":" &
     TOOLTYPECODE & ":"& ITEMCATEGORYCODE & ":" & MATERIALTYPECODE &
      ":" & SECTIONNO
    ) AS INPUTVAL
FROM ITEM 
WHERE idx > 0 AND storecode = "JPAT";
注:

  • SELECT
    中不需要比较
    storecode='JPAT'
    ,因为它位于
    的WHERE
  • MS Access中的字符串分隔符是
    ,而不是
  • MS Access中的字符串连接运算符是
    &
  • MS Access中类似的
    中的通配符是
    *
  • MS Access不支持
    CASE
    。我发现
    IIF()
    足以应付这种情况(双关语)

你可能会表现出某种努力?你实际上要求翻译整个查询,而不仅仅是一个case语句。首先,在MS Access
中,case
=
Switch()
|
=
&