我能够使用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。
答案 0 :(得分:3)
DELETE语句不是用于删除整行吗?由于我感到不安和你的问题,你应该使用UPDATE语句来代替..
UPDATE table dbo.InventoryUnitMeasure SET upcode = null ...
语法上的一些提示可以是here(快速谷歌搜索)
答案 1 :(得分:0)
DELETE InventoryUnitMeasure.upccode
FROM dbo.InventoryUnitMeasure
INNER JOIN InventoryItem
ON InventoryUnitMeasure.ItemCode = InventoryItem.ItemCode
where ItemName like 'SNT%'
这应该有效
答案 2 :(得分:0)
您是否注意到一个接一个有两个FROM语句?只需将删除语句的开头更改为DELETE FROM table_name ....
如果您希望更新特定列下的单元格值,则Píďa是正确的。如果您希望从表中删除整个列,则应使用 ALTER TABLE table_name
DROP COLUMN column_name
这意味着您正在更改该表的结构。