Mysql 使用 CONCAT 和两列创建 VIEW

Mysql Create VIEW with CONCAT and two colums

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

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 不是 table

的错误
ALTER VIEW STRANKEPView AS (
    SELECT *, COALESCE(CONCAT('A',strp_aa,'.')) AS strp_aa_nas_br
    FROM STRANKEPView 
);

要更改现有视图,请使用 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() 毫无意义,因此我将其从视图中删除。如果参数是 NULLCOALESCE() 的目的是 return 一个替代值;如果您不提供替代值,它不会做任何有用的事情。