在SQL Server中有所不同

我正在执行以下查询,
Select distinct
  a.cr_id,Case 
    When ca.ca_Vote = 'Approve' and ca.ca_title='MANAGER' Then ca.ca_email
    When ca.ca_Vote = 'Reject' Then ''
    When ca.ca_Vote = 'Pending' Then ''
    When ca.ca_Vote = 'IN PROCESS' Then ''
  End as ca_email
from
  credit a
  inner join credit_approvals ca on ca.c_id=a.cr_id
where 
  a.cr_cs_date between Convert(varchar(20),'11/16/2011',101) and dateadd(day,1,convert  (varchar(20),101))
order by
  a.cr_id

尽管cr_id不同,它仍然显示重复值.请让我知道如何处理这个问题,以便我能够只显示不同的记录.

解决方法

distinct应用于所有列,而不是紧接在distinct之后的列.

如果你有一个cr_id的几个不同的ca_email,你会看到它们.

如果您不想这样做,则必须提出一条规则来确定重复项中的哪条记录必须保留.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...