如何查询打印售罄的产品? [MYSQL]
How can I make a query to print sold out products? [MYSQL]
我是数据库新手。因此,我有两个 tables product
和 supplier
,我需要进行查询以打印已售罄的产品以及一些供应商信息。
product
table:
Product_ID
Product_Name
Quantity
Supplier_ID
1
water
0
11
2
Milk
26
12
3
eggs
8
12
4
5L water
19
11
5
water gallon
0
11
supplier
table:
Supplier_ID
Supplier_Name
Supplier_Phone
11
Pure life
55555555
22
Dairy
77777777
33
Nivea
66666666
我目前的工作:
SELECT product.Product_ID, 'product.Product_Name', product.Quantity,
'supplier.Supplier_Name', supplier.Supplier_Phone
FROM product, supplier
INNER JOIN supplier S ON supplier.Supplier_ID = product.Supplier_ID
WHERE (Quantity = 0)
GROUP BY 'product.Product_Name';
输出:
Error Code: 1054. Unknown column 'product.Supplier_ID' in 'on clause'
期望的输出:
Product_Name
Quantity
Supplier_Name
Supplier_Phone
water
0
Pure life
55555555
water gallon
0
Pure life
55555555
您的查询存在以下问题:
- 在
SELECT
子句中,引号会让 MySQL 理解您需要一些字符串而不是引用 table 字段:用反引号代替引号(或者您可以完全跳过它们在你的情况下)
- 在
FROM
子句中,引用了三个tableproduct, supplier INNER JOIN supplier S
,而你需要的是在两个名字之间加上INNER JOIN
tables product
和 supplier
- 如果您不使用 aggregation function(如
MAX
、SUM
、GROUP_CONCAT
等,则不需要 GROUP BY
子句。 ..) 在 SELECT
语句中
下面是您的查询的片段:
SELECT
product.Product_ID,
`product.Product_Name`,
product.Quantity,
`supplier.Supplier_Name`,
supplier.Supplier_Phone
FROM
product
INNER JOIN
supplier
ON
supplier.Supplier_ID = product.Supplier_ID
WHERE
product.Quantity = 0
我是数据库新手。因此,我有两个 tables product
和 supplier
,我需要进行查询以打印已售罄的产品以及一些供应商信息。
product
table:
Product_ID | Product_Name | Quantity | Supplier_ID |
---|---|---|---|
1 | water | 0 | 11 |
2 | Milk | 26 | 12 |
3 | eggs | 8 | 12 |
4 | 5L water | 19 | 11 |
5 | water gallon | 0 | 11 |
supplier
table:
Supplier_ID | Supplier_Name | Supplier_Phone |
---|---|---|
11 | Pure life | 55555555 |
22 | Dairy | 77777777 |
33 | Nivea | 66666666 |
我目前的工作:
SELECT product.Product_ID, 'product.Product_Name', product.Quantity,
'supplier.Supplier_Name', supplier.Supplier_Phone
FROM product, supplier
INNER JOIN supplier S ON supplier.Supplier_ID = product.Supplier_ID
WHERE (Quantity = 0)
GROUP BY 'product.Product_Name';
输出:
Error Code: 1054. Unknown column 'product.Supplier_ID' in 'on clause'
期望的输出:
Product_Name | Quantity | Supplier_Name | Supplier_Phone |
---|---|---|---|
water | 0 | Pure life | 55555555 |
water gallon | 0 | Pure life | 55555555 |
您的查询存在以下问题:
- 在
SELECT
子句中,引号会让 MySQL 理解您需要一些字符串而不是引用 table 字段:用反引号代替引号(或者您可以完全跳过它们在你的情况下) - 在
FROM
子句中,引用了三个tableproduct, supplier INNER JOIN supplier S
,而你需要的是在两个名字之间加上INNER JOIN
tablesproduct
和supplier
- 如果您不使用 aggregation function(如
MAX
、SUM
、GROUP_CONCAT
等,则不需要GROUP BY
子句。 ..) 在SELECT
语句中
下面是您的查询的片段:
SELECT
product.Product_ID,
`product.Product_Name`,
product.Quantity,
`supplier.Supplier_Name`,
supplier.Supplier_Phone
FROM
product
INNER JOIN
supplier
ON
supplier.Supplier_ID = product.Supplier_ID
WHERE
product.Quantity = 0