2

我可以使用 select 语句识别我想要的数据:

SELECT  InventoryUnitMeasure.ItemCode, 
        InventoryUnitMeasure.UPCCode,  
        InventoryItem.ItemName
FROM InventoryUnitMeasure 
   INNER JOIN InventoryItem 
         ON InventoryUnitMeasure.ItemCode = InventoryItem.ItemCode
where ItemName like 'SNT%'

然后我尝试更改以像这样删除表 InventoryUnitMeasure 中的 UPCode 列,但出现错误:

DELETE upccode from
FROM dbo.InventoryUnitMeasure
  INNER JOIN  InventoryItem 
     ON InventoryUnitMeasure.ItemCode = InventoryItem.ItemCode
where ItemName like 'SNT%'

我知道我犯了一个简单的错误,但我无法弄清楚,我尝试查看多个站点和多个搜索,但我只能看到在加入时如何删除整个表,而不仅仅是一列。

任何帮助将不胜感激。

我使用 SQL Server 作为 DBMS。

4

3 回答 3

3

DELETE 语句不是用于删除整行吗?正如我理解你的问题,你可能应该使用 UPDATE 语句来代替..

UPDATE table dbo.InventoryUnitMeasure SET upcode = null ...

一些关于语法的提示可以在这里(快速谷歌搜索)

于 2012-04-05T22:21:53.843 回答
0
DELETE InventoryUnitMeasure.upccode 
FROM dbo.InventoryUnitMeasure
    INNER JOIN  InventoryItem 
     ON InventoryUnitMeasure.ItemCode = InventoryItem.ItemCode
where ItemName like 'SNT%'

这应该工作

于 2012-04-05T22:19:48.387 回答
0

你注意到有两个 FROM 语句一个接一个吗?只需将删除语句的开头更改为 DELETE FROM table_name ....

如果您希望更新某个列下的单元格的值,那么 Píďa 是正确的。如果您希望从表中删除整个列,则应使用 ALTER TABLE table_name

删除列 column_name

这意味着您正在更改该表的结构。

于 2012-04-05T22:22:43.750 回答