我正在进行一项查询,其中我想查看客户拥有的总储备金... 问题是我得到客户端ID ...而不是客户端名称。有人可以帮帮我吗?
我当前的查询
Select Reserva.ID_Cliente, count (Reserva.ID_Reserva)
From Reserva
left outer join Cliente
on Reserva.ID_Reserva = Cliente.ID_Cliente
group by Reserva.ID_Cliente
我记得有了这个查询,我得到了客户端ID ......但我想收到客户名称,而不是ID。
在预订表中我只有客户ID而不是名称,否则我会选择名称而不是ID。
答案 0 :(得分:3)
注意:您正在使用左连接,这意味着保留可能没有相应的客户端。
Select Cliente.ClienteName, count (Reserva.ID_Reserva)
From Reserva
left outer join Cliente on Reserva.ID_Reserva = Cliente.ID_Cliente
group by Reserva.ID_Cliente, Cliente.ClienteName;
答案 1 :(得分:0)
尝试以下方法:
Select
isnull(Cliente.Name, 'Name missing'),
count (Reserva.ID_Reserva)
From Reserva
left outer join Cliente
on Reserva.ID_Reserva = Cliente.ID_Cliente
group by Cliente.Name, Reserva.ID_Cliente
这假设表Cliente
包含名称字段。左连接没有帮助!如其他地方所述
UPDATE 我已经添加了左连接,并且还包括对名称的空检查。如上所述,这假设没有匹配的客户端进行预订。
答案 2 :(得分:0)
您是不是要通过Reserva.ID_Cliente加入?无论如何,只需在Group By中添加您需要的内容:
Select Cliente.Name, count(Reserva.ID_Reserva)
From Reserva left outer join Cliente on Reserva.ID_Cliente = Cliente.ID_Cliente group by Reserva.ID_Cliente, Cliente.Name