sql请求重复字段

时间:2017-07-16 08:12:04

标签: sql teradata

我写了这个SQL查询,当你看到ART_ID字段将在显示中重复时,我正在寻找另一种方法来编写它而不重复字段

 SSELECT   *

                FROM 
    ( SELECT  R.rng_id AS rang_id,
                R.RNG_WHS AS RNG_WHS,
                R.rng_sortie AS rng_sortie,
                R.rng_start AS rng_start,
                R.rng_end AS rng_end,
                R.RNG_ACTIF_DATE AS RNG_ACTIF_DATE,
                D.dest_type,
                D.dest_region,
                R.ART_ID

    FROM  P_STG_POSA.gss_range R
    INNER JOIN P_STG_POSA.GSS_DESTINATAIRE D ON R.rng_sortie_whs = D.dest_id 
    WHERE  rng_inactif='A' ) R

    INNER JOIN 
    ( SELECT ART_ART_LIBELLE, ART_ID 
    FROM P_STG_POSA.GSS_ARTICLE 
    WHERE art_type_id= 'S4' ) A
    ON  R.art_id=A.art_id 

1 个答案:

答案 0 :(得分:0)

Select *返回所有列,并且art_id存在两次,它将返回两次。而不是*列出您想要返回的列。

无论如何,使用Select *通常是一个坏主意;它可能会影响性能并使您的数据更难用于其他应用程序。

使用select *也意味着如果基础表发生更改,特定查询返回的列将会更改,这会产生严重的负面影响。