当前位置: 首页 > 编程笔记 >

MySQL查询将两列合并为一个列?

党俊健
2023-03-14
本文向大家介绍MySQL查询将两列合并为一个列?,包括了MySQL查询将两列合并为一个列?的使用技巧和注意事项,需要的朋友参考一下

您可以COALESCE()为此使用功能。在该COALESCE()函数中,它从列中返回第一个NON NULL值。为了理解这个概念,让我们首先创建一个演示表

mysql> create table combineTwoColumnsDemo
   -> (
   -> UserId int,
   -> UserName varchar(20),
   -> UserAge int
   -> );

使用insert命令在表中插入一些记录。查询如下-

mysql> insert into combineTwoColumnsDemo values(101,'John',23);
mysql> insert into combineTwoColumnsDemo values(102,'Carol',20);
mysql> insert into combineTwoColumnsDemo values(103,'Bob',25);
mysql> insert into combineTwoColumnsDemo values(104,'Mike',26);
mysql> insert into combineTwoColumnsDemo values(105,NULL,23);
mysql> insert into combineTwoColumnsDemo values(105,'Maxwell',NULL);

现在,您可以使用select语句显示表中的所有记录。查询如下-

mysql> select *from combineTwoColumnsDemo;

以下是输出

+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
|    101 | John     |      23 |
|    102 | Carol    |      20 |
|    103 | Bob      |      25 |
|    104 | Mike     |      26 |
|    105 | NULL     |      23 |
|    105 | Maxwell  |    NULL |
+--------+----------+---------+
6 rows in set (0.00 sec)

这是将两列合并为一个查询的查询

mysql> SELECT UserName,
   -> UserAge,
   -> COALESCE(UserName, UserAge) AS Combine_UserName_UserAge
   -> FROM combineTwoColumnsDemo;

以下是输出

+----------+---------+--------------------------+
| UserName | UserAge | Combine_UserName_UserAge |
+----------+---------+--------------------------+
| John     |      23 | John                     |
| Carol    |      20 | Carol                    |
| Bob      |      25 | Bob                      |
| Mike     |      26 | Mike                     |
| NULL     |      23 | 23                       |
| Maxwell  |    NULL | Maxwell                  |
+----------+---------+--------------------------+
6 rows in set (0.00 sec)
 类似资料:
  • 问题内容: 结合这两个查询的正确语法是什么? 和 我试过了: 但我收到“ UNION和ORDER BY的用法不正确”。 编辑 此外,我希望结果在一行中返回。这样我就可以访问php中的值,例如 根据西蒙的建议,我不应该使用UNION,因为我想返回一行数据 问题答案: 您不能先进入,然后再进入。 编辑 但是你可以 将ORDER BY或LIMIT应用于单个SELECT,将子句放在包围SELECT的括号内

  • 问题内容: 我正在尝试找到一种将两列合并为一个的方法,但是要保持列中的值“ 0”而不是单词的组合。 这些是我和其他人尝试过的: 有人可以让我知道我做错了吗? 问题答案: 我的猜测是,您使用的是MySQL,其中的运算符会进行加法运算,并将值自动转换为数字。如果值不是以数字开头,则转换后的值为。 所以试试这个: 两种添加空间的方法:

  • 问题内容: 使用此解决方案,我尝试将COALESCE用作MySQL查询的一部分,该查询使用SELECT As输出到csv文件,以在导出数据时命名列名称。 我想要3列:名字,姓氏和联系人电话 我得到5列:名字,姓氏,ContactPhoneAreaCode1,ContactPhoneNumber1和Contact_Phone 如何在查询中将ContactPhoneAreaCode1和ContactP

  • 问题内容: 如何合并这两个SQL语句? 两个表中都存在hits10,hits11和hits12。 问题答案: 使用UNION查询-只需在两个查询之间填入“ UNION”即可: 更新 将联合包装在另一个查询中:

  • 问题内容: 使用wordpress数据库,我们有wp_options和wp_postmeta之类的表。这些按主键ID分组,然后按“ option_name”和“option_value”之类的字段分组; 因此,例如,要找出三个值,我需要执行3个不同的查询。 是否有适当的方法仅通过一个查询来完成所有这些操作? 请对此有所了解,并分享正确的方法。 (返回example.com,Example Blog

  • 问题内容: 我有第1列和第2列,并希望将它们合并到同一表的第3列中。如果第2列为空,则显示第1列的值;如果第1列为空,则它们显示第2列的数据。如果它们都为空,则显示为空。我尝试了两件事: 1)使用CONCAT 。 仅当两个列都不为null时,它才合并列。否则,它只是将null声明为null。 2)使用(第1栏+第2栏)。 。 没有显示所需的输出。 我正在用Java编写此代码。谢谢 问题答案: us