在 SQL 服务器中创建视图时出现问题
Probleme with create view in SQL Server
你能帮我解决这个问题吗?我只是 Microsoft SQL Server 的初学者,我尝试像在 Oracle 中一样创建视图。
但它会导致错误"syntax near the keyword select",我不明白。请帮助我并告诉我我们应该如何在 SQL 服务器中创建视图:
这是查询:
CREATE VIEW commandefournisseur
SELECT
F_LOT.LT_IDENT AS LOT_IDENT
, ISNULL(SUM(LCF_PRIXTOTAL),0) AS PRIX_HT
, .LCF_LICENCE AS AVENANT
, LCF_TAUXTVA AS TAUXTVA
, CF_ETAT AS COTATION
, FF_CODE_DEVISE AS CODE_DEVISE
, BPA_NOM_1 AS BATIMENT
, BPA_ADRESSE_1 AS Adresse
, ISNULL (SUM(FF_SOLDE),0) as Reste
, FF_DATE as dateFact
FROM
F_LIGNECOMFOU
INNER JOIN
F_COMMANDEFOU ON CF_NUMERO = LCF_CF_NUMERO
INNER JOIN
F_LOT ON LCF_LT_IDENT = LT_IDENT
INNER JOIN
F_P_FOURNISSEUR ON CF_IDENT_FO = FOU_IDENT
INNER JOIN
F_FACTURESFOU ON FOU_IDENT = FF_IDENT_FO
INNER JOIN
P_PERSONNE ON FOU_BPP_IDENT = BPP_IDENT
INNER JOIN
P_ADRESSE ON BPA_BPP_IDENT = BPP_IDENT
WHERE
LCF_CODE_AFF = '15330-00'
AND LT_CODE IN ('S82')
GROUP BY
LT_IDENT, LCF_LICENCE, LCF_TAUXTVA, CF_ETAT,
FF_CODE_DEVISE, BPA_NOM_1, BPA_ADRESSE_1, FF_DATE
您在 view_name
之后错过了关键字 'AS'
CREATE VIEW commandefournisseur
AS
SELECT ....
请检查视图语法here
您错过了 AS
个关键字。
以下是用于在 SQL 服务器中创建视图的标准语法。
SQL 服务器 CREATE VIEW 语法
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
你的情况
CREATE VIEW commandefournisseur AS
SELECT
F_LOT.LT_IDENT AS LOT_IDENT
, ISNULL(SUM(LCF_PRIXTOTAL),0) AS PRIX_HT
, .LCF_LICENCE AS AVENANT
, LCF_TAUXTVA AS TAUXTVA
, CF_ETAT AS COTATION
, FF_CODE_DEVISE AS CODE_DEVISE
, BPA_NOM_1 AS BATIMENT
, BPA_ADRESSE_1 AS Adresse
, ISNULL (SUM(FF_SOLDE),0) as Reste
, FF_DATE as dateFact
FROM
F_LIGNECOMFOU
INNER JOIN
F_COMMANDEFOU ON CF_NUMERO = LCF_CF_NUMERO
INNER JOIN
F_LOT ON LCF_LT_IDENT = LT_IDENT
INNER JOIN
F_P_FOURNISSEUR ON CF_IDENT_FO = FOU_IDENT
INNER JOIN
F_FACTURESFOU ON FOU_IDENT = FF_IDENT_FO
INNER JOIN
P_PERSONNE ON FOU_BPP_IDENT = BPP_IDENT
INNER JOIN
P_ADRESSE ON BPA_BPP_IDENT = BPP_IDENT
WHERE
LCF_CODE_AFF = '15330-00'
AND LT_CODE IN ('S82')
GROUP BY
LT_IDENT, LCF_LICENCE, LCF_TAUXTVA, CF_ETAT,
FF_CODE_DEVISE, BPA_NOM_1, BPA_ADRESSE_1, FF_DATE
你能帮我解决这个问题吗?我只是 Microsoft SQL Server 的初学者,我尝试像在 Oracle 中一样创建视图。
但它会导致错误"syntax near the keyword select",我不明白。请帮助我并告诉我我们应该如何在 SQL 服务器中创建视图:
这是查询:
CREATE VIEW commandefournisseur
SELECT
F_LOT.LT_IDENT AS LOT_IDENT
, ISNULL(SUM(LCF_PRIXTOTAL),0) AS PRIX_HT
, .LCF_LICENCE AS AVENANT
, LCF_TAUXTVA AS TAUXTVA
, CF_ETAT AS COTATION
, FF_CODE_DEVISE AS CODE_DEVISE
, BPA_NOM_1 AS BATIMENT
, BPA_ADRESSE_1 AS Adresse
, ISNULL (SUM(FF_SOLDE),0) as Reste
, FF_DATE as dateFact
FROM
F_LIGNECOMFOU
INNER JOIN
F_COMMANDEFOU ON CF_NUMERO = LCF_CF_NUMERO
INNER JOIN
F_LOT ON LCF_LT_IDENT = LT_IDENT
INNER JOIN
F_P_FOURNISSEUR ON CF_IDENT_FO = FOU_IDENT
INNER JOIN
F_FACTURESFOU ON FOU_IDENT = FF_IDENT_FO
INNER JOIN
P_PERSONNE ON FOU_BPP_IDENT = BPP_IDENT
INNER JOIN
P_ADRESSE ON BPA_BPP_IDENT = BPP_IDENT
WHERE
LCF_CODE_AFF = '15330-00'
AND LT_CODE IN ('S82')
GROUP BY
LT_IDENT, LCF_LICENCE, LCF_TAUXTVA, CF_ETAT,
FF_CODE_DEVISE, BPA_NOM_1, BPA_ADRESSE_1, FF_DATE
您在 view_name
之后错过了关键字 'AS'CREATE VIEW commandefournisseur
AS
SELECT ....
请检查视图语法here
您错过了 AS
个关键字。
以下是用于在 SQL 服务器中创建视图的标准语法。
SQL 服务器 CREATE VIEW 语法
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
你的情况
CREATE VIEW commandefournisseur AS
SELECT
F_LOT.LT_IDENT AS LOT_IDENT
, ISNULL(SUM(LCF_PRIXTOTAL),0) AS PRIX_HT
, .LCF_LICENCE AS AVENANT
, LCF_TAUXTVA AS TAUXTVA
, CF_ETAT AS COTATION
, FF_CODE_DEVISE AS CODE_DEVISE
, BPA_NOM_1 AS BATIMENT
, BPA_ADRESSE_1 AS Adresse
, ISNULL (SUM(FF_SOLDE),0) as Reste
, FF_DATE as dateFact
FROM
F_LIGNECOMFOU
INNER JOIN
F_COMMANDEFOU ON CF_NUMERO = LCF_CF_NUMERO
INNER JOIN
F_LOT ON LCF_LT_IDENT = LT_IDENT
INNER JOIN
F_P_FOURNISSEUR ON CF_IDENT_FO = FOU_IDENT
INNER JOIN
F_FACTURESFOU ON FOU_IDENT = FF_IDENT_FO
INNER JOIN
P_PERSONNE ON FOU_BPP_IDENT = BPP_IDENT
INNER JOIN
P_ADRESSE ON BPA_BPP_IDENT = BPP_IDENT
WHERE
LCF_CODE_AFF = '15330-00'
AND LT_CODE IN ('S82')
GROUP BY
LT_IDENT, LCF_LICENCE, LCF_TAUXTVA, CF_ETAT,
FF_CODE_DEVISE, BPA_NOM_1, BPA_ADRESSE_1, FF_DATE