如何加入两个没有匹配字段的选择?
How to join two selects with no matching fields?
我需要用这两个选择创建一个 DIM_TEAMS。第一名来自NBA球队,第二名来自WNBA球队。
SELECT
E.pk_estado_eeuu, D.pk_division, LEAGUE, CODE,
EQUIPO, CIUDAD, PABELLON, FUNDADO, PATROCINIO,
T.CONFERENCIA
FROM
STG_NBA_TEAMS T
INNER JOIN STG_TEAM_CODES TC ON(T.EQUIPO = TC.TEAM)
INNER JOIN DIM_Estados_EEUU E ON (T.ESTADO = E.codigo)
INNER JOIN DIM_Divisiones D ON(D.division = T.DIVISION)
SELECT
e.pk_estado_eeuu,LEAGUE,CODE, EQUIPO,
CIUDAD, WT.CONFERENCIA
FROM
STG_WNBA_TEAMS WT
INNER JOIN STG_TEAM_CODES TC ON(WT.EQUIPO = TC.TEAM)
INNER JOIN DIM_Estados_EEUU E ON (WT.ESTADO = E.nombre)
这应该是我的预期输出
使用union operator。您需要 SELECT NULL
在没有从一个字段到另一个字段的地方:
SELECT
E.pk_estado_eeuu,
D.pk_division,
LEAGUE,
CODE,
EQUIPO,
CIUDAD,
PABELLON,
FUNDADO,
PATROCINIO,
T.CONFERENCIA
FROM
STG_NBA_TEAMS T
INNER JOIN STG_TEAM_CODES TC ON(T.EQUIPO = TC.TEAM)
INNER JOIN DIM_Estados_EEUU E ON (T.ESTADO = E.codigo)
INNER JOIN DIM_Divisiones D ON(D.division = T.DIVISION)
UNION
SELECT
e.pk_estado_eeuu,
NULL AS pk_division,
LEAGUE,
CODE,
EQUIPO,
CIUDAD,
NULL AS PABELLON,
NULL AS FUNDADO,
NULL AS PATROCINIO,
WT.CONFERENCIA
FROM
STG_WNBA_TEAMS WT
INNER JOIN STG_TEAM_CODES TC ON(WT.EQUIPO = TC.TEAM)
INNER JOIN DIM_Estados_EEUU E ON (WT.ESTADO = E.nombre)
您还可以使用 Pentaho 数据集成工具实现此目的,该工具使用排序合并步骤,可在设计部分的连接类别下获得。
我需要用这两个选择创建一个 DIM_TEAMS。第一名来自NBA球队,第二名来自WNBA球队。
SELECT
E.pk_estado_eeuu, D.pk_division, LEAGUE, CODE,
EQUIPO, CIUDAD, PABELLON, FUNDADO, PATROCINIO,
T.CONFERENCIA
FROM
STG_NBA_TEAMS T
INNER JOIN STG_TEAM_CODES TC ON(T.EQUIPO = TC.TEAM)
INNER JOIN DIM_Estados_EEUU E ON (T.ESTADO = E.codigo)
INNER JOIN DIM_Divisiones D ON(D.division = T.DIVISION)
SELECT
e.pk_estado_eeuu,LEAGUE,CODE, EQUIPO,
CIUDAD, WT.CONFERENCIA
FROM
STG_WNBA_TEAMS WT
INNER JOIN STG_TEAM_CODES TC ON(WT.EQUIPO = TC.TEAM)
INNER JOIN DIM_Estados_EEUU E ON (WT.ESTADO = E.nombre)
这应该是我的预期输出
使用union operator。您需要 SELECT NULL
在没有从一个字段到另一个字段的地方:
SELECT
E.pk_estado_eeuu,
D.pk_division,
LEAGUE,
CODE,
EQUIPO,
CIUDAD,
PABELLON,
FUNDADO,
PATROCINIO,
T.CONFERENCIA
FROM
STG_NBA_TEAMS T
INNER JOIN STG_TEAM_CODES TC ON(T.EQUIPO = TC.TEAM)
INNER JOIN DIM_Estados_EEUU E ON (T.ESTADO = E.codigo)
INNER JOIN DIM_Divisiones D ON(D.division = T.DIVISION)
UNION
SELECT
e.pk_estado_eeuu,
NULL AS pk_division,
LEAGUE,
CODE,
EQUIPO,
CIUDAD,
NULL AS PABELLON,
NULL AS FUNDADO,
NULL AS PATROCINIO,
WT.CONFERENCIA
FROM
STG_WNBA_TEAMS WT
INNER JOIN STG_TEAM_CODES TC ON(WT.EQUIPO = TC.TEAM)
INNER JOIN DIM_Estados_EEUU E ON (WT.ESTADO = E.nombre)
您还可以使用 Pentaho 数据集成工具实现此目的,该工具使用排序合并步骤,可在设计部分的连接类别下获得。