Sql server 如何删除SQL Server 2014中的重复行

Sql server 如何删除SQL Server 2014中的重复行,sql-server,Sql Server,我想从下面的查询中删除重复的行,有人能帮忙吗 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 在SELECT子句

我想从下面的查询中删除重复的行,有人能帮忙吗

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

SELECT
子句中添加一个
DISTINCT


要减少集合中的行数,请在两个表之间使用
连接
,打开

现在,您得到的是这两个表的笛卡尔乘积,
OM_ITEM_MASTE
中的每一行都与
FM_PRICE_LIST
中的每一行相匹配,这几乎从来都不是事实(除非您正在创建一些测试数据)

您需要定义一个条件,以明确地告诉sql server一个表中的行与另一个表中的行之间的关系

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
WHERE M_ITEM_MASTER.[ColumnName] = FM_PRICE_LIST.[ReferrencingColumn]  --<-- Criteria 
ORDER BY item_description

您需要在两个表之间添加连接条件。-在ANSI-92 SQL标准中(20多年前),旧样式的逗号分隔表列表样式被正确的ANSI
join
语法所取代不鼓励使用重复的行,请添加一些示例和结果。我已运行此查询,选择OM_ITEM_MASTER.part_no PARTNO,ITEM_description description,ITEM_Manufactor,FM_PRICE_LIST.cost_PRICE从OM_ITEM_MASTER内部加入OM_ITEM_上的FM_PRICE_LISTTER.[PART_NO]=FM_PRICE_LIST.[PART_NO]--hy已尝试查询选择不同的OM_ITEM_MASTER.PART_NO PARTNO,ITEM_description description,ITEM_manufacturer,ITEM_manufacturer,FM_PRICE_LIST.[PART_NO]=FM_PRICE_PRICE_LIST.[PART_NO]--
SELECT 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 M_ITEM_MASTER.[ColumnName] = FM_PRICE_LIST.[ReferrencingColumn]
ORDER BY item_description