首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混淆UNPIVOT

混淆UNPIVOT
EN

Stack Overflow用户
提问于 2022-09-21 23:59:11
回答 2查看 41关注 0票数 0

我有一张显示货币汇率的表格。

我想将它撤消到下面的布局

但当我用

代码语言:javascript
复制
SELECT CREATION_DATE, CURRENCY, RATE
FROM (
 SELECT CREATION_DATE, JMD, ISK, COP, USD, EGP, PAB
 FROM EXCHANGE_RATES) XR
 
 UNPIVOT(RATE FOR CURRENCY IN 
         JMD, ISK, COP, USD, EGP, PAB
        ) AS U;

我在其中一个货币代码上出错了

代码语言:javascript
复制
SQL compilation error: syntax error line 7 at position 9 unexpected 'JMD'. syntax error line 8 at position 10 unexpected 'AS'.

即使我试着

代码语言:javascript
复制
 SELECT * FROM EXCHANGE_RATES
    UNPIVOT(CURRENCY FOR MO (JMD, ISK, COP, USD, EGP, PAB))

我在其中一个货币代码上出错了:

代码语言:javascript
复制
SQL compilation error: The type of column 'COP' conflicts with the type of other columns in the UNPIVOT list.

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2022-09-22 00:50:19

您需要将货币括在括号https://docs.snowflake.com/en/sql-reference/constructs/unpivot.html#examples中。

代码语言:javascript
复制
SELECT CREATION_DATE, CURRENCY, RATE
FROM (
 SELECT CREATION_DATE, JMD, ISK, COP, USD, EGP, PAB
 FROM EXCHANGE_RATES) XR
 
 UNPIVOT(RATE FOR CURRENCY IN (
         JMD, ISK, COP, USD, EGP, PAB
        )) AS U;
票数 0
EN

Stack Overflow用户

发布于 2022-09-22 02:20:23

这就是解决办法:

代码语言:javascript
复制
WITH EXCHANGE_RATES(CREATION_DATE, JMD, ISK, COP) AS (
    SELECT  
  CREATION_DATE::TIMESTAMP_NTZ, JMD::NUMBER(19,6) AS JMD, ISK::NUMBER(19,6) AS ISK, COP::NUMBER(19,6) AS COP
  FROM  EXCHANGE_RATES
)
SELECT * 
FROM EXCHANGE_RATES
UNPIVOT(RATE FOR CURRENCY IN (JMD, ISK, COP) )

谢谢大家的帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73808037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档