mysql - mysql concat 列名
问题描述
嗨,我刚开始学习 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);
但是得到了这个错误(ERROR 1583 (42000): Incorrect parameters in call to native function 'concat')
解决方案
恭喜你开始学习 SQL,它超级有用!让我试着消除你的误解。
该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
关键字重命名您构建的列。)
如果您对此有任何疑问,请告诉我。
推荐阅读
- python - RSA 签名数据验证不起作用 PyCryptodome
- reactjs - React:如何使用 antd 创建不同大小的输入字段?
- ios - 如何向左滑动以删除 CollectionCell
- python - 使用 Python 3 通过 SMTP 发送邮件时出现 TimeoutError
- typescript - 样式不适用于嵌套组件
- ssrs-2017 - 如何获取当前正在运行的 SSRS 订阅的开始时间
- nix - 如何将静态可执行文件与 libc++ 链接
- web - 使用 HTTrack 仅在某个子域下下载链接(没有外部)
- python - 如何在一个或其他外键之间进行约束或选择?
- javascript - 满足相交条件时,IntersectionObserver 不执行函数