Mysql SQL首选列
我有一个MySQL表,它保存有关人员的详细信息,例如:Mysql SQL首选列,mysql,sql,database,Mysql,Sql,Database,我有一个MySQL表,它保存有关人员的详细信息,例如: 名字 地址 工作电子邮件 家庭电子邮件 首选电子邮件(“工作电子邮件”或“家庭电子邮件”) 我只想选择他们喜欢的电子邮件。使用SQL有没有一种简洁的方法?还是在我取出数据后就需要这样做?这是一个简单的查询: SELECT PreferredEmail FROM people; 这是一个简单的查询: SELECT PreferredEmail FROM people; 一个简单的case语句应该可以做到这一点: SELECT
- 名字
- 地址
- 工作电子邮件
- 家庭电子邮件
- 首选电子邮件(“工作电子邮件”或“家庭电子邮件”)
我只想选择他们喜欢的电子邮件。使用SQL有没有一种简洁的方法?还是在我取出数据后就需要这样做?这是一个简单的查询:
SELECT PreferredEmail FROM people;
这是一个简单的查询:
SELECT PreferredEmail FROM people;
一个简单的case语句应该可以做到这一点:
SELECT
Name,
CASE WHEN PreferredEmail = 'WorkEmail' THEN WorkEmail ELSE HomeEmail END AS Email
FROM
MyTable
一个简单的case语句应该可以做到这一点:
SELECT
Name,
CASE WHEN PreferredEmail = 'WorkEmail' THEN WorkEmail ELSE HomeEmail END AS Email
FROM
MyTable
选择如果(PreferredEmail='WorkEmail',WorkEmail,HomeEmail)作为电子邮件选择如果(PreferredEmail='WorkEmail',WorkEmail,HomeEmail)作为电子邮件为什么需要多封电子邮件的列表?如果您正在收集多个电子邮件地址,并且有时可能希望收集多个电子邮件地址,则始终可以创建一个辅助表,该表将用户与其所有可能的电子邮件地址关联,并具有第二列和第三列,该列可以是表示主电子邮件的标志 主表
- UID
- Name
- Address
电子邮件表
- UID
- Email address
- Primary
然后,您可以查询主邮件的标记位置,并在唯一ID上连接到其他邮件。为什么需要包含多封电子邮件的列表?如果您正在收集多个电子邮件地址,并且有时可能希望收集多个电子邮件地址,则始终可以创建一个辅助表,该表将用户与其所有可能的电子邮件地址关联,并具有第二列和第三列,该列可以是表示主电子邮件的标志 主表
- UID
- Name
- Address
电子邮件表
- UID
- Email address
- Primary
然后,您只需查询主节点的标记位置,并在唯一ID上连接到另一个节点。!这把戏做得很好。干杯说到SQL,我还是有点傻,不客气!您也可以将答案标记为正确…;-)令人惊叹的!这把戏做得很好。干杯说到SQL,我还是有点傻,不客气!您也可以将答案标记为正确…;-)你似乎误解了这个问题。