MySQL:如果子Table的QtyIn之和大于QtyOut之和,则从Parent Table获取数据
MySQL: Retrieve data from Parent Table if it's Child Table's sum of QtyIn is greater than the sum of QtyOut
这是我的场景:
Table A Table B
IDa = 1 IDb = 1 | IDa = 1 | QtyIn = 2 | QtyOut = 0
IDa = 2 IDb = 2 | IDa = 1 | QTyIn = 0 | QtyOut = 1
IDb = 3 | IDa = 2 | QtyIn = 1 | QtyOut = 0
IDb = 4 | IDa = 2 | QtyIn = 0 | QtyOut = 1
如果 Table A 的 QtyIn 总和大于其 QtyOut 总和,我想从 Table A 中检索行。 Table B 将按 IDa 列分组。在此示例中,IDa = 1 of Table A 是唯一要检索的行,因为它是剩余库存。我该如何实现?
首先你需要select你需要的列,所以在这种情况下
SELECT COLUMN_NAME
接下来你需要决定你需要什么 table 所以在这种情况下你还需要 table B:
SELECT COLUMN_NAME
FROM TABLEA, TABLEB
接下来你应该弄清楚你在这种情况下的加入条件:
SELECT COLUMN_NAME
FROM TABLEA, TABLEB
WHERE TABLEA.IDa = TABLEB.IDa
最后你想转到聚合函数并进行计算你 sql 应该如下所示:
SELECT COLUMN_NAME
FROM TABLEA, TABLEB
WHERE TABLEA.IDa = TABLEB.IDa
Group by TABLEB.IDa
Having SUM(QtyIn - QtyOut) > 0
所以是的,应该是全部...
这是我的场景:
Table A Table B
IDa = 1 IDb = 1 | IDa = 1 | QtyIn = 2 | QtyOut = 0
IDa = 2 IDb = 2 | IDa = 1 | QTyIn = 0 | QtyOut = 1
IDb = 3 | IDa = 2 | QtyIn = 1 | QtyOut = 0
IDb = 4 | IDa = 2 | QtyIn = 0 | QtyOut = 1
如果 Table A 的 QtyIn 总和大于其 QtyOut 总和,我想从 Table A 中检索行。 Table B 将按 IDa 列分组。在此示例中,IDa = 1 of Table A 是唯一要检索的行,因为它是剩余库存。我该如何实现?
首先你需要select你需要的列,所以在这种情况下
SELECT COLUMN_NAME
接下来你需要决定你需要什么 table 所以在这种情况下你还需要 table B:
SELECT COLUMN_NAME
FROM TABLEA, TABLEB
接下来你应该弄清楚你在这种情况下的加入条件:
SELECT COLUMN_NAME
FROM TABLEA, TABLEB
WHERE TABLEA.IDa = TABLEB.IDa
最后你想转到聚合函数并进行计算你 sql 应该如下所示:
SELECT COLUMN_NAME
FROM TABLEA, TABLEB
WHERE TABLEA.IDa = TABLEB.IDa
Group by TABLEB.IDa
Having SUM(QtyIn - QtyOut) > 0
所以是的,应该是全部...