[英]Column ambigously defined when using Pivot with subquery
我正在尝试运行此数据透视查询以将日期显示为以下格式的列:“MM/DD/YYYY”以及每个日期中出现的某种 ID:
包含日期的列是 "DATE_POSTED" -- DATA TYPE date 包含 ID 的列是 "ID_INST" -- DATA TYPE varchar2
询问:
SELECT *
FROM (SELECT ID_INST, DATE_POSTED
FROM total.table1) PIVOT XML (COUNT (DATE_POSTED)
FOR (DATE_POSTED)
IN (SELECT distinct DATE_POSTED
FROM total.table1));
我收到的错误是 ORA-00918: 列定义不明确,我进行了一些搜索,但一直收到此错误。 不确定我的方法是否完全正确。 PS 我使用 XML 关键字,因为它提示:缺少关键字
请尝试以下操作:
SELECT *
FROM (SELECT ID_INST, TO_CHAR(DATE_POSTED, 'DD-Mon') DATE_POSTED
FROM TOTAL.TABLE1)
PIVOT XML (COUNT(DATE_POSTED)
FOR DATE_POSTED IN (ANY))
问题可能是由事实引起的,该日期还存储了除日期之外的时间信息。
因此,您会获得不同的DATE_POSTED
值,但转换为 char 会导致相同的列名,因为日期格式掩码会削减时间信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.