如何使用ALL partyname获取ALL amount_left检查ALL partynname是否与MYSQL中的



这是第一个表:

销售额:

Restaurant Teliabagh    80000
Restaurant Teliabagh    20000
SHRI BALAJI 50000
Bhola ji    50000
Ajay    50000

第二表:

现金:

Restaurant Teliabagh    20000 
Restaurant Teliabagh    20000 
Ajay    25000

我能够为一方获得money_leftAJAY只有金额而不是他的名字

这是命令:

SELECT (select sum(totalamount) from acc.sales where Partyname='Ajay')-(select sum(Amountrecevied) from acc.cash where Party_name='Ajay') as money_left;

并作为输出

money_left

25000

但我的问题是,在这里,我想在现金表中的销售表形式(收到的金额(中显示ALL Partyname with Money_left减去(totalamount(后的Partyname。

如果它将聚会名称和金额减去后显示为NUll,那就没问题了。

SELECT Partyname, sales.totalamount - COALESCE(cash.totalamount, 0) as money_left
FROM ( SELECT Partyname, SUM(totalamount) totalamount
FROM acc.sales
GROUP BY 1 ) sales
LEFT JOIN ( SELECT Partyname, SUM(totalamount) totalamount
FROM acc.cash
GROUP BY 1 ) cash USING (Partyname);

如果存在cash中存在但在sales中不存在的Partyname值,则具有UNION DISTINCT的附加子查询,其收集所有所需的Partyname值作为基础。

最新更新