加入两个选择 - 不同的列名
Joining two selects - different column names
我需要构建一个 SELECT 语句来显示 JV1 - JV6 的所有列。
我将如何填充 JV2、JV3 等?
SELECT
Id as [JV1],
vp_pct as [JV1 Per],
vl_role as [JV1 Role],
[status] as [JV1 Status]
FROM era_project_allications_m
WHERE era_project_allications_m.jv_row_id = '1'
UNION ALL
SELECT
Id as [JV2],
vp_pct as [JV2 Per],
vl_role as [JV2 Role],
[status] as [JV2 Status]
FROM era_project_allications_m
WHERE era_project_allications_m.jv_row_id = '2'
我需要结果来显示包含 JV1、JV2 信息的列。
感谢任何建议!
加入和联合是两个不同的东西。你不能在联合中有不同的列名,但你可以添加一个列来保存源 table 名称(硬编码)以帮助你了解行的来源:
SELECT
Id,
vp_pct,
vl_role,
[status],
'1' as sourceId
FROM era_project_allications_m
WHERE jv_row_id = '1'
UNION ALL
SELECT
Id,
vp_pct,
vl_role,
[status],
'2'
FROM era_project_allications_m
WHERE jv_row_id = '2'
尽管根据您的示例代码,您可能只想这样做:
SELECT
Id,
vp_pct,
vl_role,
[status],
jv_row_id as sourceId
FROM era_project_allications_m
WHERE jv_row_id IN('1', '2'...'n')
我想出了这个。
我简单地使用了 6 个 select 语句,分别给它们一个别名和一个唯一 ID(项目 ID 为 Select_1_ID、Select_2_ID),然后使用 LEFT JOIN 将它们连接在一起Select1 的 ID)。
相当冗长,但它确实有效——我怀疑它不是很有效,幸好它只有 returns 24k 行。
我需要构建一个 SELECT 语句来显示 JV1 - JV6 的所有列。
我将如何填充 JV2、JV3 等?
SELECT
Id as [JV1],
vp_pct as [JV1 Per],
vl_role as [JV1 Role],
[status] as [JV1 Status]
FROM era_project_allications_m
WHERE era_project_allications_m.jv_row_id = '1'
UNION ALL
SELECT
Id as [JV2],
vp_pct as [JV2 Per],
vl_role as [JV2 Role],
[status] as [JV2 Status]
FROM era_project_allications_m
WHERE era_project_allications_m.jv_row_id = '2'
我需要结果来显示包含 JV1、JV2 信息的列。
感谢任何建议!
加入和联合是两个不同的东西。你不能在联合中有不同的列名,但你可以添加一个列来保存源 table 名称(硬编码)以帮助你了解行的来源:
SELECT
Id,
vp_pct,
vl_role,
[status],
'1' as sourceId
FROM era_project_allications_m
WHERE jv_row_id = '1'
UNION ALL
SELECT
Id,
vp_pct,
vl_role,
[status],
'2'
FROM era_project_allications_m
WHERE jv_row_id = '2'
尽管根据您的示例代码,您可能只想这样做:
SELECT
Id,
vp_pct,
vl_role,
[status],
jv_row_id as sourceId
FROM era_project_allications_m
WHERE jv_row_id IN('1', '2'...'n')
我想出了这个。
我简单地使用了 6 个 select 语句,分别给它们一个别名和一个唯一 ID(项目 ID 为 Select_1_ID、Select_2_ID),然后使用 LEFT JOIN 将它们连接在一起Select1 的 ID)。
相当冗长,但它确实有效——我怀疑它不是很有效,幸好它只有 returns 24k 行。