Mysql使用CONCAT和两个列创建VIEW

问题描述 投票:0回答:1

我正在尝试创建一个具有两个额外字段的视图。我有这段代码可以完成一个额外的工作

CREATE VIEW STRANKEPView AS (
    SELECT *, COALESCE(CONCAT('P-',strp_ID)) AS strp_nas_br
    FROM STRANKEP 
);

我需要再添加一个为

CONCAT('A',strp_aa, '.')) AS strp_aa_nas_br

我在任何地方都找不到这种示例,而我尝试过的任何方法都没有用。我要如何加入?沿线的东西:

CREATE VIEW STRANKEPView AS (
    SELECT *, COALESCE(CONCAT('P-',strp_ID)) AS strp_nas_br 
    AND COALESCE(CONCAT('A',strp_aa,'.')) AS strp_aa_nas_br
    FROM STRANKEP 
);

或者我可能需要更改使用第一条语句创建的VIEW。但是,当我这样做时,我得到的错误是STRANKEPView不是表

ALTER VIEW STRANKEPView AS (
    SELECT *, COALESCE(CONCAT('A',strp_aa,'.')) AS strp_aa_nas_br
    FROM STRANKEPView 
);
mysql concat
1个回答
1
投票

要更改现有视图,请使用ALTER VIEW

您选择的字段用,而不是AND分隔。

ALTER VIEW STRANKEPView AS (
    SELECT *, CONCAT('P-',strp_ID) AS strp_nas_br,
              CONCAT('A',strp_aa,'.') AS strp_aa_nas_br
    FROM STRANKEP 
);

仅使用一个参数使用COALESCE()是没有意义的,因此我从视图中将其删除。 COALESCE()的目的是在参数为NULL时返回备用值。如果您不提供替代值,则它没有任何用处。

© www.soinside.com 2019 - 2024. All rights reserved.