查询以删除重复的行,但显示单行



我有下面的查询,它给了我重复行的结果,而这不是我想要的

SELECT 
 OM_ITEM_MASTER.part_no PARTNO,
 item_description DESCRIPTION,
 item_manufacturer MANUFACTURER,
 FM_PRICE_LIST.cost_price COSTPRICE 
FROM OM_ITEM_MASTER, FM_PRICE_LIST 
ORDER BY item_description 

结果:

零件号描述制造商成本价格NT321 NULL NULL 87665NT321 NULL NULL 2957NT321 NULL NULL 150NT321 NULL NULL 67895NT321 NULL NULL 5000NT321 NULL NULL 5000NT321 NULL NULL 459NT321 NULL NULL 459NT321 NULL NULL 45NT321 NULL NULL 45NT321 NULL NULL 45NT321 NULL NULL 45demore 87665demore 2957demore 150demore 67895demore 5000demore 5000demore 459demore 459demore 45demore 45demore 45demore 454565个安妮球876654565个安妮球2957个4565个安妮球1504565个安妮球678954565个安妮球50004565个安妮球50004565个安妮球4594565个安妮球4594565个安妮球454565个安妮球454565个安妮球454565个安妮球45345克鲁克WABCO 87665345克鲁克WABCO 2957345克鲁克WABCO 150345克鲁克WABCO 67895345克鲁克瓦布科5000345克鲁克瓦布科5000345克鲁克WABCO 459345克鲁克WABCO 459345克鲁克WABCO 45345克鲁克WABCO 45345克鲁克WABCO 45345克鲁克WABCO 4524台式机ibm 8766524台式机ibm 295724台式机ibm 15024台式机ibm 6789524台式机ibm500024台式机ibm500024台式机ibm 45924台式机ibm 45924台式机ibm4524台式机ibm4524台式机ibm4524台式机ibm45trtrt fdfd fdfdf 87665trtrt fdfd fdfdf 2957trtrt fdfd fdfdf 150trtrt fdfd fdfdf 67895trtrt fdfd fdfdf 5000trtrt fdfd fdfdf 5000trtrt fdfd fdfdf 459trtrt fdfd fdfdf 459trtrt fdfd fdfdf 45trtrt fdfd fdfdf 45trtrt fdfd fdfdf 45trtrt fdfd fdfdf 45TX900 FR空87665TX900 FR NULL 2957TX900 FR NULL 150TX900 FR空67895TX900 FR NULL 5000TX900 FR NULL 5000TX900 FR空459TX900 FR空459TX900 FR空45TX900 FR空45TX900 FR空45TX900 FR空4526 gdrn opiyo 8766526 gdrn opiyo 2957

1台笔记本电脑microsoft 876651台笔记本电脑microsoft 29571台笔记本电脑microsoft 1501台笔记本电脑microsoft 678951台笔记本电脑microsoft 50001台笔记本电脑microsoft 50001台笔记本电脑microsoft 4591台笔记本电脑microsoft 4591台笔记本电脑microsoft 451台笔记本电脑microsoft 451台笔记本电脑microsoft 451台笔记本电脑microsoft 4523笔记本电脑microsoft 8766523笔记本电脑microsoft 295723笔记本电脑microsoft 15023笔记本电脑microsoft 6789523笔记本电脑microsoft 500023笔记本电脑microsoft 500023笔记本电脑microsoft 45923笔记本电脑microsoft 45923笔记本电脑微软4523笔记本电脑微软4523笔记本电脑微软4523笔记本电脑微软45567原件holly 87665567原件霍利2957567份原件holly 150567原件霍利67895567份原件holly 5000567份原件holly 5000567原件holly 459567原件holly 459567原件holly 45567原件holly 45567原件holly 45567原件holly 452台ibm 876652台ibm 29572台ibm 1502台ibm 678952台ibm 50002台ibm 50002台ibm 4592台ibm 4592台ibm 452台ibm 452台ibm 452台ibm 45123 qwe asd 87665123 qwe asd 2957123 qwe asd 150123 qwe asd 67895123 qwe asd 5000123 qwe asd 5000123 qwe asd 459123 qwe asd 459123 qwe asd 45123 qwe asd 45123 qwe asd 45123 qwe asd 45347 ROOT MAN 87665347 ROOT MAN 2957347 ROOT MAN 150347 ROOT MAN 67895347根人5000347根人5000347 ROOT MAN 459347 ROOT MAN 459347 ROOT MAN 45347 ROOT MAN 45347 ROOT MAN 45347 ROOT MAN 45rt56 wer-dfgg 87665rt56 wer dfgg 2957rt56 wer dfgg 150rt56 wer dfgg 67895rt56 wer dfgg 5000rt56 wer dfgg 5000rt56 wer dfgg 459rt56 wer dfgg 459rt56 wer dfgg 45rt56 wer dfgg 45rt56 wer dfgg 45rt56 wer dfgg 45

然后我对查询进行了以下更改

SELECT distinct 
 OM_ITEM_MASTER.part_no PARTNO,
 item_description DESCRIPTION,
 item_manufacturer MANUFACTURER,
 FM_PRICE_LIST.cost_price COSTPRICE
FROM OM_ITEM_MASTER 
inner join FM_PRICE_LIST on OM_ITEM_MASTER.[PART_NO] = FM_PRICE_LIST.[PART_NO]  
order by ITEM_DESCRIPTION    

但这只显示一行,我希望显示所有行,但不显示重复行。结果如下:

零件号描述制造商成本价格NT321 NULL NULL 87665

在第一个示例中,由于没有定义任何联接条件,您将获得两个表的笛卡尔乘积,而在第二个示例中您定义了一个内部联接条件,该条件将结果集限制为两个表中存在的项。FM_PRICE_LIST表中可能缺少产品。

尝试将内部联接更改为左侧联接,以包括OM_ITEM_MASTER表中的所有产品,即使其他表中没有相应的行。

此外,您的示例数据与查询不匹配,这有点令人困惑。

最新更新