首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何创建一个从名字,姓氏和城市的电子邮件列表?

我如何创建一个从名字,姓氏和城市的电子邮件列表?
EN

Stack Overflow用户
提问于 2021-12-25 22:04:28
回答 2查看 1.5K关注 0票数 2

为了澄清这个问题:我有一个与客户的表,其中包括first_name和last_name以及address_id。现在我必须创建一个新的电子邮件列表,这些邮件是由名字、姓氏和城市组成的: firstname.lastname@city.com,我正在使用sakila数据库--如果这有什么帮助的话,有人能向我解释一下,我是怎么做到的?提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-25 22:26:42

customer表有名字和姓氏,但没有城市。

但是它有一个address_id,所以我们可以连接到address表。

address表也没有城市名称,但它有一个city_id。

所以我们把城市表和地址表连接起来。

现在,随着所需的部分可用,新的电子邮件可以构建。

代码语言:javascript
运行
复制
select replace(
          lower(
             concat(cust.first_name, '.', cust.last_name, '@', city.city, '.com')
          ), ' ', '_') as new_email
from customer cust
join address addr
  on addr.address_id = cust.address_id
join city
  on city.city_id = addr.city_id
order by new_email;

有些城市有空间,所以他们被取代了。

票数 1
EN

Stack Overflow用户

发布于 2021-12-25 22:31:11

您可以使用mysql concat函数将这些列连接到电子邮件中。

代码语言:javascript
运行
复制
concat(first_name, '.', last_name, '@', city, '.com') 

您还需要从所有涉及的列中删除空格,以便使用replace函数生成有效的电子邮件。

知道了这一点,只需加入三个表--客户、地址和城市--就可以得到所有需要的列。

代码语言:javascript
运行
复制
select first_name, last_name, 
concat(REPLACE(first_name, ' ', ''), '.', REPLACE(last_name, ' ', ''), '@', REPLACE(city, ' ', ''), '.com') as email
from customer c inner join address a on c.address_id = a.address_id
inner join city ct on a.city_id = ct.city_id

小提琴

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70483005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档