查询以删除重复行但显示单行
Query to remove duplicate rows but instead displays single row
我有以下查询,它给了我重复行的结果,但这不是我想要的
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 空 空 87665
NT321 空 空 2957
NT321 空 空 150
NT321 空 空 67895
NT321 空 空 5000
NT321 空 空 5000
NT321 空 空 459
NT321 空 空 459
NT321 空 空 45
NT321 空 空 45
NT321 空 空 45
NT321 空 空 45
德莫尔 87665
德莫尔 2957
德莫尔 150
德莫尔 67895
德莫尔 5000
德莫尔 5000
德莫尔 459
德莫尔 459
德莫尔 45
德莫尔 45
德莫尔 45
德莫尔 45
4565 安妮球 87665
4565 安妮 球 2957
4565 安妮球 150
4565 安妮球 67895
4565 安妮球 5000
4565 安妮球 5000
4565 安妮球 459
4565 安妮球 459
4565 安妮 球 45
4565 安妮 球 45
4565 安妮 球 45
4565 安妮 球 45
345 CRUNK 威伯科 87665
345 CRUNK 威伯科 2957
345 CRUNK 威伯科 150
345 CRUNK 威伯科 67895
345 CRUNK 威伯科 5000
345 CRUNK 威伯科 5000
345 CRUNK 威伯科 459
345 CRUNK 威伯科 459
345 CRUNK 威伯科 45
345 CRUNK 威伯科 45
345 CRUNK 威伯科 45
345 CRUNK 威伯科 45
24台台式机IBM 87665
24台台式机IBM 2957
24台台式机IBM 150
24 台式机 ibm 67895
24 台式机 ibm 5000
24 台式机 ibm 5000
24台台式机IBM 459
24台台式机IBM 459
24台台式机IBM 45台
24台台式机IBM 45台
24台台式机IBM 45台
24台台式机IBM 45台
trtrt fdfd fdfdf 87665
trtrt fdfd fdfdf 2957
trtrt fdfd fdfdf 150
trtrt fdfd fdfdf 67895
trtrt fdfd fdfdf 5000
trtrt fdfd fdfdf 5000
trtrt fdfd fdfdf 459
trtrt fdfd fdfdf 459
trtrt fdfd fdfdf 45
trtrt fdfd fdfdf 45
trtrt fdfd fdfdf 45
trtrt fdfd fdfdf 45
TX900 FR 空 87665
TX900 FR 空 2957
TX900 FR NULL 150
TX900 FR 空 67895
TX900 FR NULL 5000
TX900 FR NULL 5000
TX900 FR NULL 459
TX900 FR NULL 459
TX900 FR NULL 45
TX900 FR NULL 45
TX900 FR NULL 45
TX900 FR NULL 45
26 gdrn opiyo 87665
26 gdrn opiyo 2957
1 台笔记本电脑微软 87665
1 台笔记本电脑微软 2957
1 台笔记本电脑微软 150
1 台笔记本电脑微软 67895
1 台笔记本电脑微软 5000
1 台笔记本电脑微软 5000
1 台笔记本电脑微软 459
1 台笔记本电脑微软 459
1 台笔记本电脑微软 45
1 台笔记本电脑微软 45
1 台笔记本电脑微软 45
1 台笔记本电脑微软 45
23 笔记本电脑微软 87665
23 笔记本电脑微软 2957
23 笔记本电脑 微软 150
23 笔记本电脑微软 67895
23 笔记本电脑微软 5000
23 笔记本电脑微软 5000
23 笔记本电脑微软 459
23 笔记本电脑微软 459
23 笔记本电脑 微软 45
23 笔记本电脑 微软 45
23 笔记本电脑 微软 45
23 笔记本电脑 微软 45
567原装冬青87665
567 原件 holly 2957
567原装冬青150
567原装冬青67895
567原装冬青5000
567原装冬青5000
567原件冬青459
567原件冬青459
567原件冬青45
567原件冬青45
567原件冬青45
567原件冬青45
2 台 IBM 87665
2 台 IBM 2957
2 台 IBM 150
2 台 IBM 67895
2 台 IBM 5000
2 台 IBM 5000
2 台 IBM 459
2 台 IBM 459
2 台 IBM 45
2 台 IBM 45
2 台 IBM 45
2 台 IBM 45
123 qwe asd 87665
123 qwe asd 2957
123 qwe asd 150
123 qwe asd 67895
123 qwe asd 5000
123 qwe asd 5000
123 qwe asd 459
123 qwe asd 459
123 qwe asd 45
123 qwe asd 45
123 qwe asd 45
123 qwe asd 45
347根人87665
347 根 人 2957
347 根人 150
347根人67895
347 根人 5000
347 根人 5000
第347章 459
第347章 459
347 根人 45
347 根人 45
347 根人 45
347 根人 45
rt56 wer dfgg 87665
rt56 wer dfgg 2957
rt56 wer dfgg 150
rt56 wer dfgg 67895
rt56 wer dfgg 5000
rt56 wer dfgg 5000
rt56 wer dfgg 459
rt56 wer dfgg 459
rt56 wer dfgg 45
rt56 wer dfgg 45
rt56 wer dfgg 45
rt56 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
在第一个示例中,您得到了两个 table 的笛卡尔积,因为您没有定义任何连接条件,而在第二个示例中,您定义了一个限制结果的内部连接条件设置为 table 中存在的项目。也许 FM_PRICE_LIST table.
中缺少产品
尝试将内部联接更改为左联接以包含来自 OM_ITEM_MASTER table 的所有产品,即使在其他 table.[=10= 中没有相应的行也是如此]
此外,您的示例数据与查询不匹配,这有点令人困惑。
我有以下查询,它给了我重复行的结果,但这不是我想要的
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 空 空 87665 NT321 空 空 2957 NT321 空 空 150 NT321 空 空 67895 NT321 空 空 5000 NT321 空 空 5000 NT321 空 空 459 NT321 空 空 459 NT321 空 空 45 NT321 空 空 45 NT321 空 空 45 NT321 空 空 45 德莫尔 87665 德莫尔 2957 德莫尔 150 德莫尔 67895 德莫尔 5000 德莫尔 5000 德莫尔 459 德莫尔 459 德莫尔 45 德莫尔 45 德莫尔 45 德莫尔 45 4565 安妮球 87665 4565 安妮 球 2957 4565 安妮球 150 4565 安妮球 67895 4565 安妮球 5000 4565 安妮球 5000 4565 安妮球 459 4565 安妮球 459 4565 安妮 球 45 4565 安妮 球 45 4565 安妮 球 45 4565 安妮 球 45 345 CRUNK 威伯科 87665 345 CRUNK 威伯科 2957 345 CRUNK 威伯科 150 345 CRUNK 威伯科 67895 345 CRUNK 威伯科 5000 345 CRUNK 威伯科 5000 345 CRUNK 威伯科 459 345 CRUNK 威伯科 459 345 CRUNK 威伯科 45 345 CRUNK 威伯科 45 345 CRUNK 威伯科 45 345 CRUNK 威伯科 45 24台台式机IBM 87665 24台台式机IBM 2957 24台台式机IBM 150 24 台式机 ibm 67895 24 台式机 ibm 5000 24 台式机 ibm 5000 24台台式机IBM 459 24台台式机IBM 459 24台台式机IBM 45台 24台台式机IBM 45台 24台台式机IBM 45台 24台台式机IBM 45台 trtrt fdfd fdfdf 87665 trtrt fdfd fdfdf 2957 trtrt fdfd fdfdf 150 trtrt fdfd fdfdf 67895 trtrt fdfd fdfdf 5000 trtrt fdfd fdfdf 5000 trtrt fdfd fdfdf 459 trtrt fdfd fdfdf 459 trtrt fdfd fdfdf 45 trtrt fdfd fdfdf 45 trtrt fdfd fdfdf 45 trtrt fdfd fdfdf 45 TX900 FR 空 87665 TX900 FR 空 2957 TX900 FR NULL 150 TX900 FR 空 67895 TX900 FR NULL 5000 TX900 FR NULL 5000 TX900 FR NULL 459 TX900 FR NULL 459 TX900 FR NULL 45 TX900 FR NULL 45 TX900 FR NULL 45 TX900 FR NULL 45 26 gdrn opiyo 87665 26 gdrn opiyo 2957
1 台笔记本电脑微软 87665 1 台笔记本电脑微软 2957 1 台笔记本电脑微软 150 1 台笔记本电脑微软 67895 1 台笔记本电脑微软 5000 1 台笔记本电脑微软 5000 1 台笔记本电脑微软 459 1 台笔记本电脑微软 459 1 台笔记本电脑微软 45 1 台笔记本电脑微软 45 1 台笔记本电脑微软 45 1 台笔记本电脑微软 45 23 笔记本电脑微软 87665 23 笔记本电脑微软 2957 23 笔记本电脑 微软 150 23 笔记本电脑微软 67895 23 笔记本电脑微软 5000 23 笔记本电脑微软 5000 23 笔记本电脑微软 459 23 笔记本电脑微软 459 23 笔记本电脑 微软 45 23 笔记本电脑 微软 45 23 笔记本电脑 微软 45 23 笔记本电脑 微软 45 567原装冬青87665 567 原件 holly 2957 567原装冬青150 567原装冬青67895 567原装冬青5000 567原装冬青5000 567原件冬青459 567原件冬青459 567原件冬青45 567原件冬青45 567原件冬青45 567原件冬青45 2 台 IBM 87665 2 台 IBM 2957 2 台 IBM 150 2 台 IBM 67895 2 台 IBM 5000 2 台 IBM 5000 2 台 IBM 459 2 台 IBM 459 2 台 IBM 45 2 台 IBM 45 2 台 IBM 45 2 台 IBM 45 123 qwe asd 87665 123 qwe asd 2957 123 qwe asd 150 123 qwe asd 67895 123 qwe asd 5000 123 qwe asd 5000 123 qwe asd 459 123 qwe asd 459 123 qwe asd 45 123 qwe asd 45 123 qwe asd 45 123 qwe asd 45 347根人87665 347 根 人 2957 347 根人 150 347根人67895 347 根人 5000 347 根人 5000 第347章 459 第347章 459 347 根人 45 347 根人 45 347 根人 45 347 根人 45 rt56 wer dfgg 87665 rt56 wer dfgg 2957 rt56 wer dfgg 150 rt56 wer dfgg 67895 rt56 wer dfgg 5000 rt56 wer dfgg 5000 rt56 wer dfgg 459 rt56 wer dfgg 459 rt56 wer dfgg 45 rt56 wer dfgg 45 rt56 wer dfgg 45 rt56 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
在第一个示例中,您得到了两个 table 的笛卡尔积,因为您没有定义任何连接条件,而在第二个示例中,您定义了一个限制结果的内部连接条件设置为 table 中存在的项目。也许 FM_PRICE_LIST table.
中缺少产品尝试将内部联接更改为左联接以包含来自 OM_ITEM_MASTER table 的所有产品,即使在其他 table.[=10= 中没有相应的行也是如此]
此外,您的示例数据与查询不匹配,这有点令人困惑。