将一个表与其他 2 个可能有也可能没有相关行的表连接起来

瓦苏·乔拉

我有 3 个表,即:

  1. products ( id, title)
  2. Stock_in ( product_id, qty, date)
  3. stock_out (product_id, qty, date)

我想使用连接来获取每个产品的库存变动列表。

我尝试使用基本连接连接所有 3 个表,但我的查询的问题是它返回具有进出运动的产品的行。

这是我能做的最好的,我尝试过的所有其他查询都是最糟糕的

SELECT  c.title, si.qty, so.qty, si.date  , so.date
   FROM `products` c, stock_in si , stock_out so
   where (c.id LIKE si.code OR c.id LIKE so.code)
   group by c.code_id

预期结果是显示每个产品的行以及每个日期的库存变动,要么在同一行中,要么在 2 个不同的行中。

也许加入所有 3 个表是一种错误的方法,我应该分别运行 2 个查询以获取存货数据和存货数据,然后在后端合并行?那会优化吗?

scaisEdge

您还没有聚合函数,因此您不应该使用 group by 而是使用 distinct。此外,如果表之间的行不匹配,您应该使用基于左连接的显式连接语法。

    SELECT distinct c.title
        , si.qty
        , so.qty
        , si.date  
        , so.date   
    FROM `products` c
    LEFT JOIN stock_in si  ON  c.id =  si.code
    LEFT JOIN stock_out so OON c.id = so.code

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将具有2个where子句的3个表连接起来获得空结果

Codeigniter将2个表数据与带有ID值的新列连接起来

如何深度比较2个Lua表(可能有表也可能没有表)?

将2个div与一个具有透视图的框连接起来

将 3 个表与其他表中的多个值连接起来

SQL将2个表与其他表的条件连接在一起

Postgresql 将 2 个表与公里范围连接起来

使用条件条件LINQ将2个数据表连接起来

将表中的所有数据与其他表中可能不存在的 where 子句连接起来

将具有行和列的两个表连接起来并求和

有没有办法制作将经验词对与 ggplot2 连接起来的线图?

通过Matlab中的“ ID”字段将具有相同字段名的2个结构连接起来

如何在多对多关系中查找列中的所有相同值,并将表与其他三个表连接起来?

数据框将两个表与现有数据连接起来

使用CodeIginter将两个带有where子句的表连接起来

MySQL将2列与同一张表连接起来

PHP下拉菜单将MySQL数据表中的2行连接起来

通过ID将一个表与其他两个表联接

将表 A 的第一行与表 B 的第一行连接起来,没有公共标识符(对于所有行)。mysql

将列名与其他表中的值连接起来

将 excel 文件与其所有工作表 Python 连接起来

使用php将一个表数据与其他表数据分开

Keras:如何将2个张量与动态形状连接起来?

Python:将 2 个数组与 1 个空数组连接起来

MySQL 2表将player_id与其他表的名称一起使用

angularfire2 rxjs通过动态更新将两个表中的可观察对象连接起来

2为两个表定义一个OneToOneField。一个被删除,但没有其他

将一个对象与其他几个相关

有没有办法将时间戳上的两个数据集与偏移量连接起来,以便将 time_1 与 time_2 连接起来,其中 time_2 比 time_1 早 2 小时?