MySQL Join VIEW,将列连接成一个字符串
Posted
技术标签:
【中文标题】MySQL Join VIEW,将列连接成一个字符串【英文标题】:MySQL Join VIEW, Concatenate Columns into ONE STRING 【发布时间】:2014-06-05 20:51:56 【问题描述】:我从工作正常的表中创建了一个视图。问题是在我的表中,我将“FIRSTNAME”和“LASTNAME”作为单独的列。在我看来,我想将它们连接在一起作为一个全名。
CREATE VIEW leader_table AS
SELECT
lgl_leaders.LEAD_ID,
lgl_type.LG_TYPE,
member_db.FIRSTNAME AS PRIMARY_FNAME,
member_db.LASTNAME AS PRIMARY_LNAME,
lgl_leaders.LG_ADDRESS,
lgl_leaders.LG_CITY,
lgl_leaders.LG_ZIP,
lgl_leaders.LG_LAT,
lgl_leaders.LG_LNG,
lgl_leaders.CHILDCARE,
lgl_leaders.LG_DAY,
lgl_leaders.LG_TIME
FROM
lgl_leaders,lgl_type,member_db
WHERE
lgl_type.IDNUM = lgl_leaders.LG_TYPE
AND member_db.IDNUM = lgl_leaders.PRIMARY_LEADER
一个例子是:
member_db.FIRSTNAME:“鲍勃” member_db.LASTNAME:“史密斯”
我希望将一个名为“FULLNAME”的单元格改为:“BOB SMITH”,而不是单独的列。
如何修改视图以将两个字符串连接在一起?
【问题讨论】:
【参考方案1】:使用CONCAT()
CREATE VIEW leader_table AS
SELECT
lgl_leaders.LEAD_ID,
lgl_type.LG_TYPE,
CONCAT(member_db.FIRSTNAME ," ",member_db.LASTNAME ) FULL_NAME,
lgl_leaders.LG_ADDRESS,
lgl_leaders.LG_CITY,
lgl_leaders.LG_ZIP,
lgl_leaders.LG_LAT,
lgl_leaders.LG_LNG,
lgl_leaders.CHILDCARE,
lgl_leaders.LG_DAY,
lgl_leaders.LG_TIME
FROM
lgl_leaders,lgl_type,member_db
WHERE
lgl_type.IDNUM = lgl_leaders.LG_TYPE
AND member_db.IDNUM = lgl_leaders.PRIMARY_LEADER
【讨论】:
就是这样。非常感谢!一旦时间限制让我接受,我会接受作为答案。再次感谢! 如果您要连接的一个或多个列可以为空,那么您应该使用COALESCE()
将 NULL 值替换为空字符串以避免 NULL FULL_NAME
如果LASTNAME
和FIRSTNAME
为 NULL。以上是关于MySQL Join VIEW,将列连接成一个字符串的主要内容,如果未能解决你的问题,请参考以下文章