簡體   English   中英

Oracle SQL 開發人員-Concat 數據

[英]Oracle SQL Developer - Concat Data

再會,

我有一個表,其中有一列僅包含數字。 但是,由於它包含特殊 ID 的規則數據,它會以更多行返回結果,例如:

你有一個書店數據庫,所有顧客都有一個 ID,書籍也有自己的 ID。 當您想知道每個客戶訂購了多少本書而結果比 1 更糟糕時,它將出現在多行中,其中客戶的 ID 相同,但每一行中書籍的 ID 都不同。

我的問題是:

什么是正確的語法或代碼部分,用於僅為每個客戶獲取一行,其中書籍 ID 在同一列中用逗號分隔?

我試過這樣:

BOOK_CONT AS (
SELECT DISTINCT BOOK_ID, LISTAGG(' ('||BOOK_ID||')', '; ')WITHIN GROUP (ORDER BY BOOK_ID) AS BOOKS
FROM BOOK_LIST)

您將使用group_bylistagg() 假設您的表有列customer_idbook_id ,您將 go:

select
    customer_id,
    listagg(book_id, ', ') within group(order by book_id) all_book_ids
from book_list
group by customer_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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