Как ограничить результаты запроса, когда отличные не различаются? - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть файл спецификации, который я пытаюсь сократить до уникальных деталей и связанных данных для строки.Проблема, с которой я сталкиваюсь - это множественные экземпляры номера детали из-за различий в форматировании или языке в имени детали из системы / систем, из которых третьи лица извлекают данные.pn123 part_name pn123 Part-name pn123 Имя детали pn123 Немецкое имя

Все остальные поля, которые я выбираю, равны, как я могу ограничить это в предложении where только одним экземпляром выше для всех разных номеров деталей?Есть ли в текстовой строке эквивалент MAX ()?

Я работаю над проблемой в Excel, удаляя дубликаты.

select distinct

adhoc.ats_esh.Customs_Entry_Num
[VIN]as [Qlickview VIN]
,[Build_Date]
,[BOM_Level]
,[9802].[Supplier]
,[Part_number]
,[Part_Name] *******THIS IS THE PROBLEM FIELD*******
,[Unit_Price]
,[Usage]
,[Extended_Price]

from 


adhoc.IMFM_9802_EU_AP [9802] inner join ADHOC.ATS_ESL
    ON [9802].VIN = ADHOC.ATS_ESL.Part_Num
        inner join adhoc.ATS_ESH
    ON ADHOC.ATS_ESH.Trans_SK = ADHOC.ATS_ESL.Trans_SK



    where

adhoc.ats_esh.importer ='ACME_CO'
and adhoc.ATS_ESH.ENTRY_SUMMARY_DATE >= '2/01/2018'
And adhoc.ATS_ESH.ENTRY_SUMMARY_DATE < '3/01/2018'
AND adhoc.ats_esl.Supplier in('supplier1','supplier2','supplier3')

--and adhoc.ats_esl.Part_Num like '%ABC%'

--and [BOM_Level] = '1' --**** use MAX()

1 Ответ

0 голосов
/ 18 апреля 2019

Правильный способ сделать это - иметь таблицу с именем и номером детали, где номер детали является уникальным ключом.Таким образом, вы присоединяетесь к Part_number и получаете уникальное Part_name.Вы также можете использовать Max (Part_name) , если вы используете Group by Part_number , но для этого потребуется немного переработать запрос.

...