簡體   English   中英

SQL:是否可以在選擇查詢的列中返回表數據類型?

[英]SQL: Is it possible to return a table data type in a column of a select query?

您可以在列中返回表(或子查詢)嗎?

這在將結果轉換為JSON時尤其有用。

例如:

select orderid, date, 
       (select itemdescription, price, quantity 
       from orderitems 
       where orderid = orders.orderid) as orderitems 
from orders

在此處輸入圖片說明

在SQL中,最接近的可能是ROW MULTISET類型的列,可以使用(ao)COLLECT和FUSION運算符來構建/填充列。

此功能可能是從2003年開始在SQL標准中引入的(對此不確定),但是任何實際的SQL產品都極不可能為實現此功能而煩惱。 (盡管我隱約似乎記得我曾經在其他地方和一個小時之內說過這句話,一個人回答了一個Oracle的例子,它做了這樣的查詢。)

我的資料來源是休·達文(Hugh Darwen)的免費書刊“ SQL:比較調查”。 如果您提出這類“高級SQL”問題,您可能會發現這一點特別有趣。

暫無
暫無

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

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