首页 > 解决方案 > 如何向所有在餐厅举行多次会议的客户展示

问题描述

想要显示在标识符为 5 的餐厅中进行了多次会议的所有顾客

但是这个问题的结果很糟糕,因为如果客户是 client_id 2 的客户,那么不算他,如果我有 2 个来自同一张表的外键,我就有大问题

SELECT COUNT(s.id_restaurant) amount_meet, k.id_client
FROM client k JOIN meet s ON k.id_client =s.id_client1 JOIN klient kl ON kl.id_client=s.id_client2
WHERE s.id_restaurant=5
HAVING COUNT(s.id_restaurant)>1
GROUP BY k.id_client;

在此处输入图像描述

标签: sqloracle

解决方案


为什么你不能尝试从会议表中选择并加入客户表?

SELECT COUNT(s.id_restaurant) amount_meet, k.id_client
FROM meet s 
LEFT JOIN client k ON k.id_client =s.id_client1 
LEFT JOIN client kl ON kl.id_client=s.id_client2
WHERE s.id_restaurant=5
HAVING COUNT(s.id_restaurant)>1
GROUP BY k.id_client;

推荐阅读