我写了这个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
答案 0 :(得分:0)
Select *
返回所有列,并且art_id存在两次,它将返回两次。而不是*
列出您想要返回的列。
无论如何,使用Select *
通常是一个坏主意;它可能会影响性能并使您的数据更难用于其他应用程序。
使用select *也意味着如果基础表发生更改,特定查询返回的列将会更改,这会产生严重的负面影响。