如何防止在选择查询中选择重复的行?

| 我已经获得了从Oracle数据库中选择关键数据的任务,但是我注意到我的选择返回了重复的行。我的报告不需要它们,但我不希望它们删除它们。有人可以帮助仅获取我需要的数据。我尝试了以下代码,但这无济于事。
SELECT distinct bbp.SUBCAR \"Treadwell\",
       bbp.BATCH_ID \"Batch ID\",
       bcs.SILICON \"Si\",
       bcs.SULPHUR \"S\",
       bcs.MANGANESE \"Mn\",
       bcs.PHOSPHORUS \"P\",
       to_char(bcs.SAMPLE_TIME, \'dd-MON-yy hh24:MI\') \"Sample Time\",
       to_char(bbp.START_POUR, \'dd-MON-yy hh24:MI\') \"Start Pour Time\",
       to_char(bbp.END_POUR, \'dd-MON-yy hh24:MI\') \"End pour Time\",
       bofcs.temperature \"Temperature\"
FROM  bof_chem_sample bcs, bof_batch_pour bbp, bof_celox_sample bofcs
WHERE bcs.SAMPLE_CODE= to_char(\'D1\')
AND bbp.BATCH_ID=bcs.BATCH_ID
AND bcs.SAMPLE_TIME>=to_date(\'01-jan-10\')
    
已邀请:
如果查看转换为SQL Server类型SQL的查询,您会发现bofcs表与其余数据之间没有任何关系。基本上,它会返回bofcs的温度字段中的每条记录,并且可能会产生重复的结果?
SELECT
     bbp.SUBCAR \"Treadwell\", 
     bbp.BATCH_ID \"Batch ID\", 
     bcs.SILICON \"Si\", 
     bcs.SULPHUR \"S\",
     bcs.MANGANESE \"Mn\", 
     bcs.PHOSPHORUS \"P\", 
     to_char(bcs.SAMPLE_TIME,\'dd-MON-yy hh24:MI\') \"Sample Time\", 
     to_char(bbp.START_POUR, \'dd-MON-yy hh24:MI\') \"Start Pour Time\",
     to_char(bbp.END_POUR, \'dd-MON-yy hh24:MI\') \"End pour Time\", 
     bofcs.temperature \"Temperature\"
FROM 
     bof_chem_sample bcs, 
INNER JOIN 
     bof_batch_pour bbp,
ON
     bbp.BATCH_ID=bcs.BATCH_ID
INNER JOIN
     bof_celox_sample bofcs
ON
     **-- NO RELATION B/N BOFCS and the other tables????**
WHERE 
     bcs.SAMPLE_CODE= to_char(\'D1\') AND 
     bcs.SAMPLE_TIME>=to_date(\'01-jan-10\')
    
如果您的SELECT语句中包含DISTINCT,则所有返回的记录在您选择的列中都具有唯一的值组合。您需要确定哪些列在您认为要重复的记录中返回不同的值。     

要回复问题请先登录注册