在Microsoft SQL Server Management Studio 17中创建视图会返回错误但查询本身可以工作

如何解决在Microsoft SQL Server Management Studio 17中创建视图会返回错误但查询本身可以工作

我正在尝试在Microsoft SQL Server Management Studio 17中创建我的第一个视图。我基本上只遵循以下步骤中所述的几个步骤: https://docs.microsoft.com/en-us/sql/relational-databases/views/create-views?view=sql-server-ver15

然后,我粘贴了之前准备好的select语句,该语句可以正常工作并且没有任何错误。但是用于视图创建者的返回错误: “ CONCAT函数需要2个参数, 关键字“ AS”附近的语法不正确

我想知道执行查询时是否可以使用任何功能,但是在创建视图时不应该使用。还是为此目的使用的语法应该不同?

由于错误消息提到了concat()函数,因此以下是在我的select语句中使用concat()的示例:

concat('r-',year(getdate())-YEAR(A.DATA))
cast(concat(substring(C.KOD_SEZONU,3,4)+1,'-03-31') as date)

error pop-up

原始的选择语句:

SELECT
C.KOD_SEZONU,substring(C.KOD_SEZONU,1,2) SEZON,CASE 
WHEN C.KOD_SEZONU ='PERMAN'                                                                                         THEN 'REGULAR'
WHEN SUBSTRING(C.KOD_SEZONU,2)='JZ' AND A.DATA <= cast(concat(substring(C.KOD_SEZONU,'-03-31') as date)    THEN 'REGULAR'
WHEN SUBSTRING(C.KOD_SEZONU,2)='WL' AND A.DATA <= cast(concat(substring(C.KOD_SEZONU,4),'-09-30') as date)      THEN 'REGULAR'
ELSE 'OUTLET' END KOLEKCJA,YEAR(A.DATA) ROK,MONTH(A.DATA) MC,DATEPART(ISO_WEEK,A.DATA) TYD,cast(concat(YEAR(A.DATA),'_',RIGHT('00'+CAST(MONTH(A.DATA) AS VARCHAR(2)),2)) as varchar(7)) ROK_MC,cast(CONCAT(
(CASE 
WHEN DATEPART(ISO_WEEK,A.DATA)>50 AND MONTH(A.DATA)=1 THEN YEAR(A.DATA)-1
WHEN DATEPART(ISO_WEEK,A.DATA)=1 AND MONTH(A.DATA)=12 THEN YEAR(A.DATA)+1
ELSE YEAR(A.DATA) END),RIGHT('00'+CAST(DATEPART(ISO_WEEK,A.DATA) AS VARCHAR(2)),2)) as varchar(7)) ROK_TYD,CASE 
when MONTH(A.DATA) <4 and month(getdate())<4 then concat('r-',year(getdate())-YEAR(A.DATA))
when MONTH(A.DATA) <4 and month(getdate())>=4 then concat('r-',year(getdate())+1-YEAR(A.DATA))
when MONTH(A.DATA) >=4 and month(getdate())<4 then concat('r-',year(getdate())-1-YEAR(A.DATA))
when MONTH(A.DATA) >=4 and month(getdate())>=4 then concat('r-',year(getdate())+1-1-YEAR(A.DATA))
else 'x' end ROK_B,A.LOKALIZACJA,e.SHOP_REGION,E.POSTAL_CODE,E.TYP_SKLEPU,E.KATEGORIA_SKLEPU_LATO KATEGORIA_SKLEPU,CASE WHEN C.NR_REFERENCJI IN('5CD687','5CD999','5CD855','5ED950','5ED951','5ED952')     THEN 'PUDEŁKA'
WHEN C.NR_REFERENCJI IN('REKLAM')                                                       THEN 'REKLAMÓWKI'
WHEN C.MODEL LIKE'TORBA PAPIER%'                                                        THEN 'TORBY PAP.'
WHEN C.NR_REFERENCJI IN('56O637') OR C.MODEL LIKE'BON%'                                 THEN 'BONY' 
WHEN C.NR_REFERENCJI LIKE '2 GAT%' OR C.MODEL LIKE '2 GAT%'                             THEN '2 GATUNEK'
WHEN SUBSTRING(A.ID_POZYCJI_MAG,1) IN('D','M')                                        THEN SUBSTRING(A.ID_POZYCJI_MAG,1)
WHEN REPLACE(C.NR_REFERENCJI,' ','')='' OR C.NR_REFERENCJI IS NULL                      THEN 'INNE'
ELSE SUBSTRING(C.NR_REFERENCJI,1) END ASO,C.MODEL,substring(a.ID_POZYCJI_MAG,9) as REFCO,C.NR_REFERENCJI,D.KOLOR_KOD,c.WZOR_KOD_DOSTAWCY,link.produkt_link link,D.ROZMIAR,C.KOD_LINII,C.DOSTAWCA,C.KRAJ_POCHODZENIA,cast(CONCAT(YEAR(MIN(CASE WHEN E.KATEGORIA_SKLEPU_LATO IN('A','B','C') AND A.LOKALIZACJA NOT IN('S269','S777') AND A.KONTRAHENT IN('S5','S6') AND A.TYP_DOKUMENTU_MAG IN('MM+  ') THEN A.DATA ELSE NULL END)),RIGHT('00'+CAST(MONTH(MIN(CASE WHEN E.KATEGORIA_SKLEPU_LATO IN('A','S6') AND A.TYP_DOKUMENTU_MAG IN('MM+  ') THEN A.DATA ELSE NULL END)) AS VARCHAR(2)),2)) as varchar(7))          WEJSCIE_ROK_MC,RIGHT('00'+CAST(DATEPART(WEEK,MIN(CASE WHEN E.KATEGORIA_SKLEPU_LATO IN('A',2)) as varchar(7))  WEJSCIE_ROK_TYD,CAST(MIN(CASE WHEN E.KATEGORIA_SKLEPU_LATO IN('A','S6') AND A.TYP_DOKUMENTU_MAG IN('MM+  ') THEN A.DATA ELSE NULL END) AS DATE) WEJSCIE_SKLEP_DATA,CAST(MIN(CASE WHEN A.LOKALIZACJA IN('FOT') AND A.TYP_DOKUMENTU_MAG IN('MM+  ') THEN A.DATA ELSE NULL END) AS DATE) WEJSCIE_FOT_DATA,CENNIK.CENA_I CENA_I_BRUTTO,CENNIK.CENA_AKT CENA_AKT_BRUTTO,max(A.KOSZT_MAGAZYNOWY) KJ,CASE 
WHEN A.TYP_DOKUMENTU_MAG IN('KMS  ','KMK  ','PZ   ','PZI  ','PZISC','ZPZ  ','PZC  ','WSC  ','PW   ','KMK  ','KMS  ','PKU  ')    THEN 'DOSTAWA_ZEW'
WHEN A.TYP_DOKUMENTU_MAG IN('MM+  ','KM-  ','KM+  ')                                                                            THEN 'DOSTAWA_WEW'
WHEN A.TYP_DOKUMENTU_MAG IN('WZ   ','ZW   ','WZT  ','BONSP')                                                                    THEN 'SPRZEDAŻ_SPRZEDAŻ'
WHEN A.TYP_DOKUMENTU_MAG IN('ZW   ')                                                                                            THEN 'SPRZEDAŻ_ZWROT'
WHEN A.TYP_DOKUMENTU_MAG IN('INW  ','INW+ ','PL   ')                                                                            THEN 'INWENTARYZACJA'
WHEN A.TYP_DOKUMENTU_MAG IN('RWW  ')                                                                                            THEN 'ZUŻYCIE_WEW'
WHEN A.TYP_DOKUMENTU_MAG IN('MM-  ','KMM- ')                                                                                    THEN 'WYCOFANIE_WEW'
ELSE 'NN' END TYP_TRANSAKCJI,CASE
WHEN E.KATEGORIA_SKLEPU_LATO IN('A','S777')            THEN 'SKLEPY_REGULARNE'
WHEN E.KATEGORIA_SKLEPU_LATO IN('O') AND A.LOKALIZACJA NOT IN('S269','S777')                    THEN 'SKLEPY_OUTLETOWE'
WHEN E.KATEGORIA_SKLEPU_LATO IN('E') AND A.LOKALIZACJA NOT IN('S269','S777')                    THEN 'SKLEPY INTERNETOWE'
WHEN A.LOKALIZACJA IN('S5','S6')                                                                THEN 'MAGAZYNY'
WHEN (E.KATEGORIA_SKLEPU_LATO NOT IN('A','C','O','E') OR A.LOKALIZACJA IN('S269','S777'))   THEN 'POZOSTAŁE'
ELSE 'NN' END LOKALIZACJA_GRUPA,SUM(A.ILOSC*(CASE WHEN A.KIERUNEK_TRANSAKCJI='-' THEN -1 ELSE 1 END)            )   TRANSAKCJA_ILOŚĆ,SUM(A.ILOSC*(CASE WHEN A.KIERUNEK_TRANSAKCJI='-' THEN -1 ELSE 1 END)*CENNIK.CENA_I/1.23 )   TRANSAKCJA_WART_NETTO_I_CENA,SUM(A.ILOSC*(CASE WHEN A.KIERUNEK_TRANSAKCJI='-' THEN -1 ELSE 1 END)*A.T_KWOTA_NETTO    )   TRANSAKCJA_WART_NETTO,SUM(A.ILOSC*(CASE WHEN A.KIERUNEK_TRANSAKCJI='-' THEN -1 ELSE 1 END)*KOSZT.KOSZT_MAX    )   TRANSAKCJA_KOSZT

FROM PBH_BI.DBO.RAPTOR_TRANSAKCJE_MAGAZYNOWE_TAB A
LEFT JOIN PBH_BI.DBO.RAPTOR_POZYCJE_MAGAZYNOWE_TAB D ON A.FIRMA = D.FIRMA AND A.ID_POZYCJI_MAG = D.ID_POZYCJI_MAG
LEFT JOIN PBH_BI.DBO.RAPTOR_REFERENCJE_TAB C ON D.FIRMA = C.FIRMA AND C.ID_REFERENCJI = D.ID_REFERENCJI
LEFT JOIN PBH_BI.DBO.T_RAPTOR_SKLEPIKI_INFO_TAB E ON A.LOKALIZACJA = E.SHOP
LEFT JOIN PBH_BI.DBO.T_RAPTOR_SKLEPIKI_INFO_TAB E2 ON A.KONTRAHENT = E2.SHOP
INNER JOIN
(SELECT DISTINCT
X.NR_REFERENCJI,X.KOLOR,X.KOD_SEZONU,AKT.CENA CENA_AKT,I.CENA CENA_I
FROM
(select DISTINCT
CPT.NR_REFERENCJI,CPT.KOLOR,REF.KOD_SEZONU,MIN(CPT.PRIORYTET_CENNIK) AKT_PRIORYTET_CENNIK,MAX(CASE WHEN CT.TYP_CENNIKA = 'GLOWNY' THEN CPT.ID_CENNIKA ELSE '0' END) I_PRIORYTET_CENNIK
from PBH_BI.DBO.RAPTOR_ZK_CENNIK_POZYCJE_TAB CPT
left JOIN PBH_BI.DBO.RAPTOR_POZYCJE_MAGAZYNOWE_TAB REF  ON REF.NR_REFERENCJI    = CPT.NR_REFERENCJI AND REF.KOLOR_KOD   = CPT.KOLOR
left JOIN PBH_BI.dbo.RAPTOR_ZK_CENNIK_TAB CT            ON CT.ID_DOKUMENTU      = CPT.ID_CENNIKA    AND CT.FIRMA        = CPT.FIRMA AND CT.KOD_SEZONU           = REF.KOD_SEZONU 
--WHERE CPT.WAZNY_OD <'20200101'
GROUP BY CPT.ID_REFERENCJI,CPT.NR_REFERENCJI,REF.KOD_SEZONU) X
LEFT JOIN PBH_BI.DBO.RAPTOR_ZK_CENNIK_POZYCJE_TAB AKT   ON X.NR_REFERENCJI      = AKT.NR_REFERENCJI AND X.KOLOR         = AKT.KOLOR AND X.AKT_PRIORYTET_CENNIK  = AKT.PRIORYTET_CENNIK
LEFT JOIN PBH_BI.dbo.RAPTOR_ZK_CENNIK_TAB AKT2          ON AKT2.ID_DOKUMENTU    = AKT.ID_CENNIKA    AND AKT2.FIRMA      = AKT.FIRMA AND AKT2.KOD_SEZONU         = X.KOD_SEZONU
LEFT JOIN PBH_BI.DBO.RAPTOR_ZK_CENNIK_POZYCJE_TAB I     ON X.NR_REFERENCJI      = I.NR_REFERENCJI   AND X.KOLOR         = I.KOLOR   AND X.I_PRIORYTET_CENNIK    = I.ID_CENNIKA
LEFT JOIN PBH_BI.dbo.RAPTOR_ZK_CENNIK_TAB I2            ON I2.ID_DOKUMENTU      = I.ID_CENNIKA      AND I2.FIRMA        = I.FIRMA   AND I2.KOD_SEZONU           = X.KOD_SEZONU
) CENNIK
ON CENNIK.NR_REFERENCJI = C.NR_REFERENCJI AND CENNIK.KOLOR = D.KOLOR_KOD AND CENNIK.KOD_SEZONU = C.KOD_SEZONU
LEFT JOIN
(SELECT DISTINCT
SUBSTRING(ID_POZYCJI_MAG,6) REFERENCJA,SUBSTRING(ID_POZYCJI_MAG,7,3) KOLOR,MAX(KOSZT_MAGAZYNOWY) KOSZT_MAX
FROM PBH_BI.DBO.RAPTOR_TRANSAKCJE_MAGAZYNOWE_TAB A
GROUP BY 
SUBSTRING(ID_POZYCJI_MAG,6),3)) KOSZT ON KOSZT.REFERENCJA=C.NR_REFERENCJI AND D.KOLOR_KOD = KOSZT.KOLOR

left join
(select distinct
  substring(sku,9) refco,produkt_link
  from
  pbh_bi.dbo.dim_magento_product) link on link.refco = substring(a.ID_POZYCJI_MAG,9)
WHERE 

C.KOD_SEZONU IN('JZ2016','JZ2017','JZ2018','JZ2019','JZ2020','JZ2021','WL2016','WL2017','WL2018','WL2019','WL2020','WL2021','PERMAN')
--AND A.DATA ='20200810'
--AND substring(a.ID_POZYCJI_MAG,9) ='4JL004831'

GROUP BY
C.KOD_SEZONU,'-09-30') as date)      THEN 'REGULAR'
ELSE 'OUTLET' END,YEAR(A.DATA),MONTH(A.DATA),A.DATA),2)) as varchar(7)),year(getdate())+1-1-YEAR(A.DATA))
else 'x' end,E.KATEGORIA_SKLEPU_LATO,'5ED952') THEN 'PUDEŁKA'
WHEN C.NR_REFERENCJI IN('REKLAM')                                                   THEN 'REKLAMÓWKI'
WHEN C.MODEL LIKE'TORBA PAPIER%'                                                    THEN 'TORBY PAP.'
WHEN C.NR_REFERENCJI IN('56O637') OR C.MODEL LIKE'BON%'                             THEN 'BONY' 
WHEN C.NR_REFERENCJI LIKE '2 GAT%' OR C.MODEL LIKE '2 GAT%'                         THEN '2 GATUNEK'
WHEN SUBSTRING(A.ID_POZYCJI_MAG,'M')                                    THEN SUBSTRING(A.ID_POZYCJI_MAG,'')='' OR C.NR_REFERENCJI IS NULL                  THEN 'INNE'
ELSE SUBSTRING(C.NR_REFERENCJI,1) END,9),link.produkt_link,CENNIK.CENA_I,CENNIK.CENA_AKT,'KMM- ')                                                                                    THEN 'WYCOFANIE_WEW'
ELSE 'NN' END,'S777'))   THEN 'POZOSTAŁE'
ELSE 'NN' END

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-