请考虑以下表格:
T_WORK
-------------------
| Work_id | Cre_d |
-------------------
| 1 | 2016 |
| 2 | 2017 |
| 3 | 2018 |
-------------------
T_WORK_PARAM
-----------------------------------
| Work_id | Param_nm | Param_val |
-----------------------------------
| 1 | Name | John |
| 1 | Place | London |
| 1 | Date | 01-01-2018 |
| 2 | Name | Trump |
| 2 | Place | Newyork |
| 2 | Date | 02-02-2018 |
-----------------------------------
我需要以下格式的输出
-----------------------------------
| | Name | John |
| 1 | Place | London |
| | Date | 01-01-2018 |
-----------------------------------
| | Name | Trump |
| 2 | Place | Newyork |
| | Date | 02-02-2018 |
-----------------------------------
在Oracle中,我可以通过此查询实现此目的:
SELECT
T1.Work_id,
CAST (MULTISET (SELECT Param_nm, Param_val
FROM T_work_param T2
WHERE T2.Work_id = T1.Work_id) AS type_param_tbl)
FROM
T_work T1
type_param_tbl is table of (Param_nm varhar2(1000), PAram_val varhar2(1000));
如何在SQL Server中编写类似的查询?
如果在SQL Server中无法实现 - 将所需输出返回给调用者(Web服务)的最佳/常用方法是什么?
答案 0 :(得分:1)
答案 1 :(得分:0)
不幸的是,您无法在SQL Server中执行此操作。
您可以考虑加入表格以获得类似的结果。