[英]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_by
和listagg()
。 假設您的表有列customer_id
和book_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.