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多年前),旧样式的逗号分隔表列表样式被正确的ANSIjoin
语法所取代不鼓励使用重复的行,请添加一些示例和结果。我已运行此查询,选择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