Mysql 获取SQL联接派生表以显示单行
因此,我使用以下查询:Mysql 获取SQL联接派生表以显示单行,mysql,sql,Mysql,Sql,因此,我使用以下查询: SELECT products.id , products.Name , products_orders.productQty FROM orders JOIN products_orders ON orders.id = products_orders.order_id JOIN products ON products_orders.product_id = products.id WHERE orders.id = @OrderId; @Order
SELECT products.id
, products.Name
, products_orders.productQty
FROM orders
JOIN products_orders
ON orders.id = products_orders.order_id
JOIN products
ON products_orders.product_id = products.id
WHERE orders.id = @OrderId;
@OrderId=7,我也有一个产品ID,最终我试图找到订单中单个产品的数量
当前,它返回如下表:
+----+-----------+------------+
| id | Name | productQty |
+----+-----------+------------+
| 1 | sourdough | 2 |
| 3 | Ciabatta | 3 |
+----+-----------+------------+
这是订单中的每个项目及其数量,但我只是尝试根据第一列中的ID查找单个项目
有没有办法缩小这张表,只显示我感兴趣的商品及其数量
比如说,
如果order.id=7,product.id=3(对于ciabatta,它是它的外部id键)
我想返回一个如下所示的派生表,但我不知道如何编写查询:
+----+-----------+------------+
| id | Name | productQty |
+----+-----------+------------+
| 3 | Ciabatta | 3 |
+----+-----------+------------+
将
和products.id=@ProductId
添加到查询中有什么问题?大概是
SELECT products.id
, products.Name
, products_orders.productQty
FROM orders
JOIN products_orders
ON orders.id = products_orders.order_id
JOIN products
ON products_orders.product_id = products.id
WHERE orders.id = @OrderId
AND products.id = @ProductID;
将
和products.id=@ProductId
添加到查询中有什么问题?大概是
SELECT products.id
, products.Name
, products_orders.productQty
FROM orders
JOIN products_orders
ON orders.id = products_orders.order_id
JOIN products
ON products_orders.product_id = products.id
WHERE orders.id = @OrderId
AND products.id = @ProductID;
哦,我只是对SQL不太了解:(我现在就试试。这很有效!谢谢!我会尽快把它标记为答案。哦,我只是对SQL不太了解:(我现在就试试。这很有效!谢谢!我会尽快将其标记为答案。在SQL中,派生表是
FROM
子句中的子查询。在SQL中,派生表是FROM
子句中的子查询。