【发布时间】:2018-08-03 18:22:56
【问题描述】:
我需要将一个 select 语句从 Oracle 转换为 SQL Server。但是脚本中有支点,我想不通。
这是选择语句
SELECT user_id,
cart_id,
order_total,
date_abandonment,
date_abandonment_first,
fl_abandoned_cart,
p1_quantity,
p1_product_name,
p1_product_description,
p1_product_type_description,
p1_product_duration,
p1_unit_price,
p2_quantity,
p2_product_name,
p2_product_description,
p2_product_type_description,
p2_product_duration,
p2_unit_price,
p3_quantity,
p3_product_name,
p3_product_description,
p3_product_type_description,
p3_product_duration,
p3_unit_price,
p4_quantity,
p4_product_name,
p4_product_description,
p4_product_type_description,
p4_product_duration,
p4_unit_price,
p5_quantity,
p5_product_name,
p5_product_description,
p5_product_type_description,
p5_product_duration,
p5_unit_price
FROM Cart PIVOT (MAX (quantity) AS quantity,
MAX (product_name) AS product_name,
MAX (product_description) AS product_description,
MAX (product_type_description) AS product_type_description,
MAX (product_duration) AS product_duration,
MAX (unit_price) AS unit_price
FOR (PRODUCT_NUM)
IN ( (1) AS p1,
(2) AS p2,
(3) AS p3,
(4) AS p4,
(5) AS p5)))
当我在 SQL Server 中运行它时,它给了我这个错误:
关键字“AS”附近的语法不正确
在枢轴所在的行。
【问题讨论】:
-
我不会说它会解决所有问题,但 SQL Server 不支持 MAX(Field1) 作为数据透视声明中的内容。你在选择中做别名。
标签: sql sql-server oracle pivot