首页 > 解决方案 > 如何仅在mysql中的现有行上显示数据

问题描述

我正在寻找仅显示现有行的数据

我的预期输出应该是

+---------------+-----------+--------------------+
| vendor_name   | purchases | available_quantity |
+---------------+-----------+--------------------+
| X1            |       190 |                 25 |
| X2            |       118 |                  5 |
| X3            |         4 |                  0 |
| X4            |        41 |                  0 |
| X5            |        13 |                  0 |
| X6            |       121 |                  0 |

我的实际输出是

+---------------+-----------+--------------------+
| vendor_name   | purchases | available_quantity |
+---------------+-----------+--------------------+
| X1            |       190 |                 25 |
| X2            |       118 |                 5 |
| X3            |         4 |                 25 |
| X4            |        41 |                 5 |
| X5            |        13 |                 25 |
| X6            |       121 |                 5 |

如您所见,实际输出是在所有行中显示 X1 和 X2 的数量,其中 x1 和 X2 数据仅存在于 B 表中。

请帮助我获得解决方案以获得预期的输出,如您在上面看到的使用 mysql 查询

示例 - 如果 B 表中不存在 X3,则应为 0

select pq.vendor_name,
    purchases,spurchases as available_quantity 
    from (select vendor_name,sum(quantity) as A from purchases group by vendor_name) pq,(select vendor_name,sum(quantity) as spurchases from B group by vendor_name) sq```

标签: mysql

解决方案


推荐阅读