mysql concat 列名

标签 mysql concatenation

嗨,我刚刚开始学习 sql,我希望使用 concat 将列合并为一个列,但没能做到。我可以在没有 concat 的情况下运行代码,但是当我使用 concat 时,它会给我一个错误代码。谁能告诉我我做错了什么?

SELECT CONCAT('A purchase with the purchase ID of' AS "Constraint",
ONLINEPURCHASE.PurchaseID AS "OLID", 'is an online purchase of type' AS "Condition", ONLINEPURCHASE.OnlineType AS "OLType", 'and also a walkin purchase of location' AS "Condition", WALKINPURCHASE.ShopLocation AS "ShopLocation") 
FROM ONLINEPURCHASE JOIN WALKINPURCHASE
    ON ONLINEPURCHASE.PurchaseID = WALKINPURCHASE.PurchaseID
WHERE WALKINPURCHASE.PurchaseID IN (SELECT PurchaseID
        FROM WALKINPURCHASE);

但出现此错误(错误 1583 (42000):调用 native 函数“concat”时参数不正确)

最佳答案

恭喜你开始学习 SQL,它 super 有用!让我尝试消除您的误解。

CONCAT 函数采用一定数量的字符串或列值并将它们连接在一起。无需在其中使用 AS 关键字。

我认为您正在寻找以下内容:

SELECT
  CONCAT(
    'A purchase with the purchase ID of',
    ONLINEPURCHASE.PurchaseID,
    'is an online purchase of type',
    ONLINEPURCHASE.OnlineType,
    'and also a walkin purchase of location',
    WALKINPURCHASE.ShopLocation
  ) AS result
FROM ONLINEPURCHASE JOIN WALKINPURCHASE
  ON ONLINEPURCHASE.PurchaseID = WALKINPURCHASE.PurchaseID
WHERE WALKINPURCHASE.PurchaseID IN
  (SELECT PurchaseID FROM WALKINPURCHASE);

这将创建您在 CONCAT 语句中构建的句子,并将其作为结果集的单列返回。 (我使用 AS 关键字来重命名您构建的列。)

如果您对此有任何疑问,请告诉我。

关于mysql concat 列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53380734/

相关文章:

MySQL 多个 GROUP BY 列合并为一列

java - 从 Java 调用存储过程

java - 使用 spring R2DBC 连接 mySQL 服务器版本 8 时出现未知系统变量 'tx_isolation'

mysql - SESSION group_concat_max_len 大小不够,更改大小时会给出不同的错误

python - 在 pandas 中连接 2 列 - AttributeError : 'DataFrame' object has no attribute 'concat'

php - 无法使用php在远程服务器上创建xml文件

mysql - 将 MYSQL 备份复制到另一台服务器

svn - 如何将所有来自颠覆的提交消息连接到一个没有元数据的文本文件中?

php - 将 esc_attr_e() 连接到 WordPress 中的变量问题

concatenation - torch.cat 但创造了一个新的维度