将另一个表中的列添加到现有SQL /查询语句中

时间:2015-11-02 02:50:28

标签: java sql teradata

目前,我有一个查询,我在我的java代码中运行,只显示列的简单网格输出以及这些特定字段的相应数据。我正在阅读2个表,它们都具有相同的列名。我只需要向该网格添加1列,但字段名称位于不同的表上。我如何将其添加到现有查询中?

这是我在Java中执行的当前查询:

    SELECT  TRNSP_EQP_EIN, TRNSP_EQP_ID, PRE_EQP_ID, EQP_GRP, AAR_CT_C,
AAR_MCHDSG_C,BLD_D, REBLD_D
FROM  EQ.TE_TRNSP_EQPACTV  A
WHERE TRNSP_EQP_ID = ‘BNSF0000000123’
UNION
SELECT TRNSP_EQP_EIN, TRNSP_EQP_ID, PRE_EQP_ID, EQP_GRP, AAR_CT_C,
AAR_MCHDSG_C,BLD_D, REBLD_D
FROM  EQ.TE_TRNSP_EQPHIST  A
WHERE A.TRNSP_EQP_ID = ‘ABC0123’

ORDER BY TRNSP_EQP_EFF_TS
WITH UR

以下是我尝试将网格添加到现有SQL的信息。

表:EQ.TE_LOCO_EQP

字段:DEL_RSN_CD

1 个答案:

答案 0 :(得分:0)

您需要向我们提供EQ.TE_LOCO_EQP的完整字段列表才能完整回答此问题,但我认为您将能够管理我在下面提供的内容。将方括号([])中的内容替换为与连接相关的字段。

我同意@Snowman,因为你可以很容易地研究这个。

SELECT
    *
FROM
(
    SELECT
        TRNSP_EQP_EIN
        ,TRNSP_EQP_ID
        ,PRE_EQP_ID
        ,EQP_GRP
        ,AAR_CT_C
        ,AAR_MCHDSG_C
        ,BLD_D
        ,REBLD_D
    FROM
        EQ.TE_TRNSP_EQPACTV  A
    WHERE 
        TRNSP_EQP_ID = ‘BNSF0000000123’
    UNION
    SELECT
        TRNSP_EQP_EIN
        ,TRNSP_EQP_ID
        ,PRE_EQP_ID
        ,EQP_GRP
        ,AAR_CT_C
        ,AAR_MCHDSG_C
        ,BLD_D
        ,REBLD_D
    FROM 
        EQ.TE_TRNSP_EQPHIST  B
    WHERE
        A.TRNSP_EQP_ID = ‘ABC0123’

    ORDER BY
        TRNSP_EQP_EFF_TS
    WITH UR /* No idea what this is? */
) X
LEFT JOIN
    EQ.TE_LOCO_EQP Y
ON 
    X.[PRIMARY_KEY] = Y.[EQUIVELANT_FOREIGN_KEY]