SQL空产品
我必须让它显示有多少类别是可用的,目前没有任何产品。不确定我做错了什么,因为我已经移动了一些东西,仍然得到682行的结果,而应该是0行SQL空产品,sql,not-exists,Sql,Not Exists,我必须让它显示有多少类别是可用的,目前没有任何产品。不确定我做错了什么,因为我已经移动了一些东西,仍然得到682行的结果,而应该是0行 SELECT Quantity, ProductName, CategoryID FROM Products, OrderItems WHERE NOT EXISTS ( SELECT Quantity FROM OrderItems WHERE Quantity IS NULL )
SELECT
Quantity,
ProductName,
CategoryID
FROM
Products,
OrderItems
WHERE NOT EXISTS (
SELECT Quantity
FROM OrderItems
WHERE Quantity IS NULL
)
被告知需要在其中使用“NOT EXIST”。您需要表之间的连接条件。第一个提示:切勿在
FROM
子句中使用逗号。始终使用正确、明确的JOIN
语法
我想你想要这样的东西:
SELECT oi.Quantity, p.ProductName, p.CategoryID
FROM Products p LEFT JOIN
OrderItems oi
ON oi.ProductId = p.ProductId
WHERE oi.quantity IS NULL;
确切的语法有点猜测,因为您没有提供示例数据。您需要将从中选择的两个表连接起来。。。否则结果将不是您所期望的。请提供示例数据、所需结果以及您正在使用的数据库的标记。我不同意“从不使用逗号”的说法。相反,我认为,如果一个人知道自己在做什么,那么就可以使用逗号…@Gordon是的,就像那样,但有人告诉他,不存在是必须的used@PeterAbolins . . . 联接类型应始终显式声明。如果没有,那么写查询的人(1)可能不知道他们在做什么,(2)不关心其他人是否能理解他们的意图。