簡體   English   中英

將 Pivot 與子查詢一起使用時,列定義不明確

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM