我有这个查询:
select DISTINCT cpc.EXTRACT_ID, cpc.OS_ID,...,cpvi.VOYAGE_STRT_DT,
cpob.FISCAL_MONTH_START_DT from CPOB_PROCESS_CTRL cpc
inner join CPOB_PLY_OUTSTD_BAL cpob on cpc.BRAND_NAME
= cpob.BRAND_ID and cpc.SHIP_NAME = cpob.SHIP_NAME
inner join CPOB_VOYAGE_INFO cpvi on cpc.VOYAGE_ID = cpvi.VOYAGE_ID
问题是我希望在结果上不重复列cpc.EXTRACT_ID
。
当我在查询中仅选择cpc.EXTRACT_ID
时,结果是准确的,并且该查询不包含cpc.EXTRACT_ID
的重复结果
select DISTINCT cpc.EXTRACT_ID from CPOB_PROCESS_CTRL cpc
inner join CPOB_PLY_OUTSTD_BAL cpob on cpc.BRAND_NAME
= cpob.BRAND_ID and cpc.SHIP_NAME = cpob.SHIP_NAME
inner join CPOB_VOYAGE_INFO cpvi on cpc.VOYAGE_ID = cpvi.VOYAGE_ID
但是我在结果中也需要其他字段,我不在乎其他字段是否重复,只是cpc.EXTRACT_ID
。如何将第一个脚本更改为想要的结果?
答案 0 :(得分:1)
如果您不关心其他列,请汇总它们,例如
select cpc.EXTRACT_ID,
max(cpc.OS_ID) os_id,
max(cpvi.VOYAGE_STRT_DT) voyage_strt_dt,
max(cpob.FISCAL_MONTH_START_DT) fiscal_month_start_dt
from ...
group by cpc.extract_id
如果这不是您想要的,请发布一些示例数据和所需结果。这可能会帮助我们帮助您。