mysql - 比较两个 SQL 查询的输出?

标签 mysql sql aggregate-functions

我在执行复杂的 SQL 查询时遇到了一些问题,如果有任何帮助,我将不胜感激。我简化了表格和名称。

SCHEMA:   

  Business Account
    payment_account_id
    business_id

  Business Misc
    business_user_id
    business_id

  Payment Account
    business_user_id
    payment_account_id

我需要一个 SQL 查询来获取拥有多个付款帐户的所有企业、拥有多个付款帐户的所有企业用户,并在这些付款帐户具有相同 ID 时提供重叠信息。

到目前为止我已经得到:

business_with_multiple_accounts = 

select * 
from "Business Account" 
group by business_id 
having count(distinct payment_account_id) > 1;

users_with_multiple_accounts =

select * 
from "Payment Account" 
group by business_user_id 
having count(distinct payment_account_id) > 1;

我想我只需要比较这两个输出(但我可能是错的!),但我不确定如何继续。我尝试过以各种方式嵌套查询,以及在三向联接中使用“Business Misc”表。

感谢您提供的任何帮助!

最佳答案

请尝试这个:

business_with_multiple_accounts = 
select * 
from business_acct
where 
      (Select Distinct count(*) 
       from 
         payment_acct  
         where payment_acct.payment_acct_id= business_acct.payment_acct_id
       )>1
group by business_id 

users_with_multiple_accounts =
select * 
from business_misc 
where 
      (Select Distinct count(*) 
       from 
         payment_acct  
         where payment_acct.business_user_id= business_misc.business_user_id
       )>1
group by business_user_id 

关于mysql - 比较两个 SQL 查询的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46923854/

相关文章:

python - 从数据点不按时间匹配的时间序列图中求和/堆叠值的算法

sql - Oracle SQL开发人员: sharing configuration via Dropbox

php - PDO : Error not caught when executing prepared statement 故障排除

mysql - 测试与 MySQL 服务器的连接

MySQL 在第二次 JOIN 时抛出错误

sql - 查找指向我的数据库 postgresql 的用户

sql - 如何在 SQL Server 中获取 datetime 重复行?

sql - 选择组上每个组的最大记录

mysql - 梦工厂: How to use MySQL aggregate functions in queries

mysql - h2 数据库按位操作(&)语法无效 MySql