[英]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.