例如: - 我有3個表。如何在select查詢oracle中的列中組合多個行數據?
學生:
student_id | name | rollNo | class
1 | a1 | 12 | 5
2 | b1 | 11 | 5
地址:有可以爲用戶
street | district| country |student_id
gali1 | nanit | india | 1
gali2 | nanital | india | 1
書籍有多個地址:可以有muliple書用戶
book | book_id |student_id
history | 111 | 1
Science | 112 | 1
這是一個例子。我希望數據在輸出中像這樣。 如果我選擇student_id數據1,那麼這將是
student_id | name | rollNo | class | addresslist | booklist
1 | a1 | 12 | 5 | some sort of | some sort of
| list which | list which
| contain both| contain both
| the address | the book detail
| of user | of user
我使用12.1不支持JSON現在它是在12.2的結果。
AddressList中,可就是這樣,你可以創建列表,你想,但它應該有所有這些數據。
[{street:"gali1","distict":"nanital","country":"india","student_id":1},{"street":"gali2","distict":"nanital","country":"india","student_id":1}]
相同的書目
在此先感謝。
集團由'student_id'和使用'listagg'和字符串連接''||獲得地址和書籍的字符串。 –
如果它只是一個報告查詢,您可以創建它在此之後,或把它放在一個視圖,你可以用'LISTAGG()'內置函數選擇地址,水木清華這樣的'選擇s.student_id,S。名,s.rollno,s.class ,LISTAGG(a.country || '' || a.district || '' || a.street)組中(以a.country順序)AddressList中 ,LISTAGG( b.book_id ||''|| b.book)in group(order by a.book_id)as booklist from student's,address a,books b where s.student_id = a.student_id and s.student_id = b .student_id;也可以添加group by。 – g00dy
@ g00dy這會給出錯誤ORA-00937:不是單組功能 –