如何将来自不同表格的2个字段合并为1列。我dbo.Desktop_Info
字段为desktop_info_id
& dbo.Laptops_info
字段为laptop_info_id
。我希望在我看来将两个字段合并为1,包括数据。现在,我该怎么做?你能告诉我如何做的代码吗?
dbo.Desktop_Info
desktop_info_id dt_serial_no
------------------------------
1 9PP7D2S
2 9PP7D2S1
dbo.laptop_info
laptop_info_id lp_serial_no
------------------------------
1 9PP7D2S2
2 9PP7D2S3
预期结果:
vw_id type trans_id Serial_No
-----------------------------------------------
1 Desktop 1 9PP7D2S
2 Desktop 2 9PP7D2S1
3 Laptop 1 9PP7D2S2
4 Laptop 2 9PP7D2S3
答案 0 :(得分:3)
您希望使用UNION ALL
合并数据,ROW_NUMBER
分配vw_id
:
SELECT
vw_id = ROW_NUMBER() OVER (ORDER BY (SELECT NULL)),
*
FROM(
SELECT
type = 'Desktop',
trans_id = desktop_info_id,
Serial_No = dt_serial_no
FROM desktop_info
UNION ALL
SELECT
type = 'Laptop',
trans_id = laptop_info_id,
Seral_No = lp_serial_no
FROM laptop_info
)AS t
答案 1 :(得分:2)
您可以使用UNION ALL
。像这样的东西
SELECT ROW_NUMBER()OVER(ORDER BY type,trans_id) as vw_id,type,trans_id,dt_serial_no
FROM (
SELECT 'Desktop' as type,desktop_info_id as trans_id, dt_serial_no as dt_serial_no
FROM dbo.Desktop_Info
UNION ALL
SELECT 'Laptop' as type,laptop_info_id as trans_id, lp_serial_no as dt_serial_no
FROM dbo.laptop_info
)T