写了个存储过程,然后提示一大堆错误,不知道怎么改这几天急着用,SQL学的不是太明白。拜托了各位部分语句:
SELECT 
(CASE 伝票区分
WHEN 'A1' THEN '受注伝票登録'
WHEN 'A8' THEN '受注伝票修正'
END),
依頼日,
依頼者,
(CASE SAP_連携承認状態.承認区分
WHEN '01' THEN '承認依頼'
WHEN '02' THEN '承認'
WHEN '03' THEN '却下'
WHEN '04' THEN '保留'
END),
処理日,
処理者,
コメント,
受注本体.[受注No(所属)] + '-' + 受注本体.[受注No(手配No)],
受注本体.[契約書No(所属)] + '-' + 受注本体.[契約書No(手配No)],
[R/3受注伝票タイプ],
[R/3受注伝票No],
ERP受注先,
ERP出荷先,
伝票日付,
[契約(予定)日],
[契約納期(完了日)],
支払条件,
契約区分,
下取区分,
延滞償金,
立会テスト,
伝票通貨,
[インコタームズ(1)],
[インコタームズ(2)],
仕向国,
受注本体.受注額 - SUM(受注明細.消費税),
SUM(消費税),
受注本体.受注額,
金利,
販売手数料,
SUM(TP),
セット,
受注明細.品目コード ,
受注明細.品目テキスト,
数量,
出荷予定日,
受注明細.受注額,
TP ,
消費税,
機種コード--商流
FROM SAP_連携承認状態
inner join  受注本体
on
(SAP_連携承認状態.集約_伝票管理ID = 受注本体.受注伝票管理ID) 
AND (SAP_連携承認状態.集約_伝票管理ID = @mBillManageID)
inner join  受注明細
on
(受注本体.受注伝票管理ID = 受注明細.受注伝票管理ID) 
AND (SAP_連携承認状態.集約_伝票管理ID = @mBillManageID)
错误提示:(基本上每个字段都有个一样的错误提示)
Msg 8118, Level 16, State 1, Procedure _sp_Web_OrderConfirmApplicationDetails, Line 46
Column 'SAP_连携承认状态.伝票区分' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
Msg 8118, Level 16, State 1, Procedure _sp_Web_OrderConfirmApplicationDetails, Line 46
Column 'SAP_连携承认状态.依頼者' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
Msg 8118, Level 16, State 1, Procedure _sp_Web_OrderConfirmApplicationDetails, Line 46

解决方案 »

  1.   


    SELECT 
    (CASE 伝票区分
    WHEN 'A1' THEN '受注伝票登録'
    WHEN 'A8' THEN '受注伝票修正'
    END),
    依頼日,
    依頼者,
    (CASE SAP_連携承認状態.承認区分
    WHEN '01' THEN '承認依頼'
    WHEN '02' THEN '承認'
    WHEN '03' THEN '却下'
    WHEN '04' THEN '保留'
    END),
    処理日,
    処理者,
    コメント,
    受注本体.[受注No(所属)] + '-' + 受注本体.[受注No(手配No)],
    受注本体.[契約書No(所属)] + '-' + 受注本体.[契約書No(手配No)],
    [R/3受注伝票タイプ],
    [R/3受注伝票No],
    ERP受注先,
    ERP出荷先,
    伝票日付,
    [契約(予定)日],
    [契約納期(完了日)],
    支払条件,
    契約区分,
    下取区分,
    延滞償金,
    立会テスト,
    伝票通貨,
    [インコタームズ(1)],
    [インコタームズ(2)],
    仕向国,
    --受注本体.受注額 - SUM(受注明細.消費税),
    --SUM(消費税),
    受注本体.受注額,
    金利,
    販売手数料,
    --SUM(TP),
    セット,
    受注明細.品目コード ,
    受注明細.品目テキスト,
    数量,
    出荷予定日,
    受注明細.受注額,
    TP ,
    消費税,
    機種コード--商流
    FROM SAP_連携承認状態
    inner join 受注本体
    on
    (SAP_連携承認状態.集約_伝票管理ID = 受注本体.受注伝票管理ID) 
    AND (SAP_連携承認状態.集約_伝票管理ID = @mBillManageID)
    inner join 受注明細
    on
    (受注本体.受注伝票管理ID = 受注明細.受注伝票管理ID) 
    AND (SAP_連携承認状態.集約_伝票管理ID = @mBillManageID)
    如果前面用了某字段用了sum集合函数就都需要用,或者后面用group by分组。
    否则就都不要用。
      

  2.   

    聚合函数在使用的时候,需要分组查询,根据某些字段分组,然后查询在该分组条件下,某些集合的sum或者别的
      

  3.   

    估计你是多余 写了个GROUP BY