Sql server 如何删除SQL Server表中的行
相应列为SKU、说明、部门、现有数量。我的问题是如何删除代表只销售一种产品的部门的最后一行?尝试以下操作:Sql server 如何删除SQL Server表中的行,sql-server,Sql Server,相应列为SKU、说明、部门、现有数量。我的问题是如何删除代表只销售一种产品的部门的最后一行?尝试以下操作: 100100 Std. Scuba Tank, Yellow Water Sports 650 100200 Std. Scuba Tank, Magenta Water Sports 625 101100 Dive Mask, Small Clear Water Sports
100100 Std. Scuba Tank, Yellow Water Sports 650
100200 Std. Scuba Tank, Magenta Water Sports 625
101100 Dive Mask, Small Clear Water Sports 750
101200 Dive Mask, Med Clear Water Sports 875
201000 Half-dome Tent Camping 262
202000 Half-dome Tent Footprint Camping 111
301000 Light Fly Climbing Harness Climbing 550
delete from your_table
where Department IN
(
select Department
from your_table
group by Department
having count(distinct SKU) = 1
)
你试过什么吗?
DELETE FROM。。。其中Id=301000
?我尝试过计数(不同的描述)!=1但我不认为这是正确的答案。我的查询是从SKU数据、库存中选择SKU\u DATA.SKU、SKU\u Description、Department、sum(quantityonhand)作为numproducts,其中SKU\u DATA.SKU=INVENTORY.SKU和SKU\u DATA.SKU!=302000按部门分组,SKU_DATA.SKU,SKU_description请不要将代码示例或示例数据放入注释中-因为您无法格式化它,所以读取它非常困难。。。。取而代之的是:通过编辑你的问题来更新它,以提供额外的信息!非常感谢。
DELETE
FROM TableName
WHERE Department IN
(SELECT Department
FROM TableName
GROUP BY Department
HAVING COUNT(DISTINCT SKU=1))