【问题标题】:How can I find all monitor purchases (not with monitor ID value, instead should use the term 'Monitor')我怎样才能找到所有监视器购买(不是监视器 ID 值,而是应该使用术语“监视器”)
【发布时间】:2021-12-20 15:16:38
【问题描述】:

我有两张桌子,

我需要找到所有监视器购买(但不是监视器 ID,而是我应该使用“监视器”)。我已经编写了代码,但它需要所有产品的数量,而不仅仅是“监视器”。

我制作的代码:

select name, Price,sum(quantity)
from Products, Orders
where name='Monitor'

我该如何解决这个问题?

【问题讨论】:

  • 使用示例数据和预期结果作为文本而不是图像来编辑您的问题,以阐明您想要什么。
  • 您需要正确连接产品和订单,而不是使用交叉连接。
  • 您能否将表格提供为文本而不是图像?你可以edit (change) your question。 (但请不要“编辑:”、“更新:”或类似的 - 问题应该看起来好像是今天写的。)提前致谢。

标签: sql sqlite count product-quantity


【解决方案1】:

您需要链接两个表的行。现在您正在创建笛卡尔积,其中包含第一个表中的每一行以及第二个表中的每一行。根据您的屏幕截图,总共将是 9 行。

SELECT name, Price, SUM(quantity)
FROM Products, Orders
WHERE name='Monitor'
AND Products.ProductId = Orders.ProductId

或者直接使用JOIN将过滤条件和连接条件分开:

SELECT name, Price, SUM(quantity)
FROM Products
INNER JOIN Orders
ON Products.ProductId = Orders.ProductId
WHERE Products.name='Monitor'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多