【问题标题】:SQL: Using CONCAT to merge 2 columns, then putting the result into a temp table & columnSQL:使用 CONCAT 合并 2 列,然后将结果放入临时表和列中
【发布时间】:2015-03-01 22:15:25
【问题描述】:
INSERT INTO #TempTable (Name) 
SELECT CONCAT(FirstName, ' ', LastName) As Name from tbl_name

我尝试了多种不同的方式来实现这一点,但无法让它发挥作用。请问有人可以帮忙吗?

【问题讨论】:

  • 您使用的是什么关系型数据库? CONCAT 是 MySQL 函数,但 #TempTable 不是在 MySQL 中命名临时表的方法。
  • @Barmar 可能是SQL Server,但你是对的,需要明确。
  • @Barmar 抱歉我在 wampserver 上使用 mysql

标签: mysql sql concat temp-tables


【解决方案1】:

重复:How SQL query result insert in temp table?

mssql中的正确方式:

    DROP TABLE #TempTable;

    SELECT CONCAT(FirstName, ' ', LastName) As Name
    INTO #TempTable
      FROM tbl_name;

    SELECT * FROM #TempTable

[mssql]

在 mysql 中也一样:

    DROP TABLE IF EXISTS TempTable;
    CREATE TEMPORARY TABLE TempTable AS (
    SELECT CONCAT(FirstName, ' ', LastName) As Name
    FROM tbl_name);
    SELECT * FROM TempTable;

[mysql] - "AS" 在 mysql 中似乎是可选的,因为选择会自动进入 temptable

【讨论】:

  • 谢谢,但我需要 mysql。有什么想法吗?
【解决方案2】:

在 MySQL 中,不要使用#TempTable 作为表名来创建临时表,而是使用CREATE TEMPORARY TABLE

CREATE TEMPORARY TABLE TempTable
SELECT CONCAT(FIrstName, ' ', LastName) AS Name
FROM tbl_name

【讨论】:

  • 谢谢。如何将名称列表放入 TempTable?
  • SELECT 就是这样做的。
猜你喜欢
  • 1970-01-01
  • 2019-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
相关资源
最近更新 更多