Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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 If语句语法错误_Sql_Syntax - Fatal编程技术网

Sql If语句语法错误

Sql If语句语法错误,sql,syntax,Sql,Syntax,我正在尝试创建一个If语句,如果商品超过100K或公司名为CGELENA或CGFEDUN,则该语句将查找并列出以下值,如果没有,则检查商品类型是否列在下面 If (ord_miscqty >='100000' OR m.cmp_id in('CGELENA','CGFEDUN') Begin Select ord_number ,ord_status ,m.cmp_name ,Ord_startdate

我正在尝试创建一个If语句,如果商品超过100K或公司名为CGELENA或CGFEDUN,则该语句将查找并列出以下值,如果没有,则检查商品类型是否列在下面

If (ord_miscqty >='100000' OR m.cmp_id in('CGELENA','CGFEDUN')
    Begin
    Select 
    ord_number
        ,ord_status
        ,m.cmp_name
        ,Ord_startdate
        ,ord_miscqty AS [FreightValue]
        ,c.car_ins_cargolimits AS [CargoAmount]
        ,o.ord_carrier AS [Carrier]
        ,l.NAME AS [LSM2]
        ,c.car_iccnum AS [MCNumber]
        ,o.ord_description AS [Commodity]
        ,f.cmd_code [Commody Code]
        ,(
            SELECT t.ta_quantity
            FROM trlaccessories AS t
            WHERE o.ord_carrier = t.ta_trailer
                AND t.ta_type = 'POWER'
            ) AS [PowerUnits]
        ,(
            SELECT n.not_text
            FROM notes AS n
            WHERE n.nre_tablekey = o.ord_carrier
                AND n.not_type = 'I'
            ) AS [Note]
        ,(
            SELECT n.last_updatedatetime
            FROM notes AS n
            WHERE n.nre_tablekey = o.ord_carrier
                AND n.not_type = 'I'
            ) AS [NoteDate]
        ,(
            SELECT q.caq_type
            FROM carrierqualifications AS q
            WHERE o.ord_carrier = q.caq_id
                AND q.caq_type = 'RES'
            ) AS [Restriction]
        ,(
            SELECT n.not_expires
            FROM notes AS n
            WHERE n.nre_tablekey = o.ord_carrier
                AND n.not_type = 'I'
            ) AS [NoteExp]
    FROM orderheader AS o
    INNER JOIN carrier AS c ON o.ord_carrier = c.car_id
    INNER JOIN company AS m ON o.ord_billto = m.cmp_id
    INNER JOIN labelfile AS l ON o.ord_revtype3 = l.abbr
    join stops as s on s.ord_hdrnumber = o.ord_hdrnumber
    join FREIGHTDETAIL as f on f.stp_number = s.stp_number
    Where datediff(hour, getdate(), ord_startdate) > 0
        AND ord_status IN (
            'PLN'
            ,'DSP'
            )
        AND l.labeldefinition = 'RevType3'
    End 

    Else If
    f.cmd_code in ('COPSUL',
    'HAZMOLY',
    'COPANO',
    'COPCAN',
    'COPING',
    'COPPAN',
    'COPPER',
    'COPROD',
    'COPSTSHT',
    'COPSULNH',
    'APPLINCS',
    'LIQUOR') 
    Begin
    Select 
    ord_number
        ,ord_status
        ,m.cmp_name
        ,Ord_startdate
        ,ord_miscqty AS [FreightValue]
        ,c.car_ins_cargolimits AS [CargoAmount]
        ,o.ord_carrier AS [Carrier]
        ,l.NAME AS [LSM2]
        ,c.car_iccnum AS [MCNumber]
        ,o.ord_description AS [Commodity]
        ,f.cmd_code [Commody Code]
        ,(
            SELECT t.ta_quantity
            FROM trlaccessories AS t
            WHERE o.ord_carrier = t.ta_trailer
                AND t.ta_type = 'POWER'
            ) AS [PowerUnits]
        ,(
            SELECT n.not_text
            FROM notes AS n
            WHERE n.nre_tablekey = o.ord_carrier
                AND n.not_type = 'I'
            ) AS [Note]
        ,(
            SELECT n.last_updatedatetime
            FROM notes AS n
            WHERE n.nre_tablekey = o.ord_carrier
                AND n.not_type = 'I'
            ) AS [NoteDate]
        ,(
            SELECT q.caq_type
            FROM carrierqualifications AS q
            WHERE o.ord_carrier = q.caq_id
                AND q.caq_type = 'RES'
            ) AS [Restriction]
        ,(
            SELECT n.not_expires
            FROM notes AS n
            WHERE n.nre_tablekey = o.ord_carrier
                AND n.not_type = 'I'
            ) AS [NoteExp]
    FROM orderheader AS o
    INNER JOIN carrier AS c ON o.ord_carrier = c.car_id
    INNER JOIN company AS m ON o.ord_billto = m.cmp_id
    INNER JOIN labelfile AS l ON o.ord_revtype3 = l.abbr
    join stops as s on s.ord_hdrnumber = o.ord_hdrnumber
    join FREIGHTDETAIL as f on f.stp_number = s.stp_number
    Where datediff(hour, getdate(), ord_startdate) > 0
        AND ord_status IN (
            'PLN'
            ,'DSP'
            )
        AND l.labeldefinition = 'RevType3'
    End 

在else语句中,必须使用选择

Else If
Select f.cmd_code in ('COPSUL',...
....

缺少
第1行中的Start您使用什么RDBMS?其中一些可能不支持常规查询上下文中的
IF/ELSE
控制结构,而只允许在存储过程/函数中使用它们。
[]
括号表示可能是MS SQL Server或Access。哦,我的上帝,你写了这样一个怪物,却找不到缺少的括号??