如何将SQL查询从MS Access转换为Mariadb SQL

svmlkihl  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(123)

这是一个使用两个表的查询,一个是advdep,另一个是paymode
advdep表:
AdvDate AdvMode(高级模式)(高级_amt)
Paymode表:PayID Paymode
我在MS Access中使用交叉表查询,效果很好(需要很多时间!)

TRANSFORM Sum(advdep.Adv_Amt) AS Totals
       SELECT Year([AdvDate]) AS [Year], Sum([advdep].[Adv_Amt])\1 AS Total
       FROM advdep INNER JOIN paymode ON advdep.AdvMode = paymode.PayID
GROUP BY Year([AdvDate])
PIVOT paymode.Paymode;

字符串
我需要把这个转换成mariadb视图

SELECT *
    FROM
   (
   Sum(advdep.Adv_Amt) AS Totals,
   Year([AdvDate]) AS [Year], Sum([advdep].[Adv_Amt]) AS Total
   FROM advdep INNER JOIN paymode ON advdep.AdvMode = paymode.PayID
   ) t
PIVOT paymode.Paymode;


它显示查询语法错误

6jygbczu

6jygbczu1#

SELECT YEAR(advdate) AS Year,
      SUM(adv_amt) AS Total,
      sum(CASE WHEN advmode='1' THEN adv_amt END) `CSH`,
      sum(CASE WHEN advmode='2' THEN adv_amt END) `CHQ`,
      sum(CASE WHEN advmode='3' THEN adv_amt END) `CRD`,
      sum(CASE WHEN advmode='4' THEN adv_amt END) `NEFT`,
      sum(CASE WHEN advmode='7' THEN adv_amt END) `UPI`
      
  FROM advdep
 GROUP BY YEAR(advdate);

字符串

相关问题