查询排除不符合条件的产品
Query to exclude products that do not meet a condition
我需要帮助来编写一个 SQL 查询,该查询将 return 特定仓库和商店的库存 SKU。
我需要排除仓库中没有的所有 SKU。
到目前为止我有一个基本的查询:
SELECT
Sap_Category,
SapSubCategory,
Material_ID
Description,
Store_Code
Store_Descr,
Store_Inventory,
Store_Type,
FROM
db.Stock
我尝试添加一个 where 子句,但它似乎不起作用。
WHERE
Material_ID = (SELECT Material_ID FROM db.Stock
WHERE (Store_Type = "Warehouse") AND Store_Inventory > 0)
正如评论中提到的 t@Pontnou 和@FDavidov 如果您对一个列有多个值,请在 where
子句中使用 IN 命令。
此外,您的 select 语句中的 Material_ID 后缺少一个逗号 (,)。这可能不会给出任何语法错误,但会为 Material_ID 值显示不同的列名(描述)。
SELECT
Sap_Category,
SapSubCategory,
Material_ID,
Description,
Store_Code
Store_Descr,
Store_Inventory,
Store_Type,
FROM
db.Stock
WHERE
Material_ID IN (SELECT Material_ID FROM db.Stock
WHERE Store_Type = "Warehouse" AND Store_Inventory > 0)
如果您的 table 中有 Material_ID 的唯一值,您可以在主查询中使用子查询 where 子句条件。
SELECT
Sap_Category,
SapSubCategory,
Material_ID,
Description,
Store_Code
Store_Descr,
Store_Inventory,
Store_Type,
FROM
db.Stock
WHERE Store_Type = "Warehouse" AND Store_Inventory > 0
我需要帮助来编写一个 SQL 查询,该查询将 return 特定仓库和商店的库存 SKU。
我需要排除仓库中没有的所有 SKU。
到目前为止我有一个基本的查询:
SELECT
Sap_Category,
SapSubCategory,
Material_ID
Description,
Store_Code
Store_Descr,
Store_Inventory,
Store_Type,
FROM
db.Stock
我尝试添加一个 where 子句,但它似乎不起作用。
WHERE
Material_ID = (SELECT Material_ID FROM db.Stock
WHERE (Store_Type = "Warehouse") AND Store_Inventory > 0)
正如评论中提到的 t@Pontnou 和@FDavidov 如果您对一个列有多个值,请在 where
子句中使用 IN 命令。
此外,您的 select 语句中的 Material_ID 后缺少一个逗号 (,)。这可能不会给出任何语法错误,但会为 Material_ID 值显示不同的列名(描述)。
SELECT
Sap_Category,
SapSubCategory,
Material_ID,
Description,
Store_Code
Store_Descr,
Store_Inventory,
Store_Type,
FROM
db.Stock
WHERE
Material_ID IN (SELECT Material_ID FROM db.Stock
WHERE Store_Type = "Warehouse" AND Store_Inventory > 0)
如果您的 table 中有 Material_ID 的唯一值,您可以在主查询中使用子查询 where 子句条件。
SELECT
Sap_Category,
SapSubCategory,
Material_ID,
Description,
Store_Code
Store_Descr,
Store_Inventory,
Store_Type,
FROM
db.Stock
WHERE Store_Type = "Warehouse" AND Store_Inventory > 0