2011-04-26 4 views
0
create proc PrAspnet_RolesGet 
as 

select r.RoleId, r.RoleName, lr.RoleId as IsLoginetRole 
from aspnet_Roles r 

left join loginetRoles lr 
on r.RoleId = lr.RoleId 

테이블 loginetRoles에는 RoleId라는 하나의 필드가 있습니다. IsLoginetRole 필드를 Guid 값에서 비트 값으로 바꾸려면 어떻게해야합니까?Sql Server 2008의 계산 된 필드

+2

부울 데이터 유형이 없습니다. '비트'만. 'guid'에서'bit'로 변환 할 때 논리는 무엇이되어야합니까? 'NOT NULL '이라면'1'을, NULL이라면'0'을 반환하겠습니까? –

+0

마틴, 그래. NOT NULL이면 1을, NULL이면 0을 반환하고 싶습니다. – Alexandre

답변

3
SELECT r.RoleId, 
     r.RoleName, 
     CAST(CASE 
       WHEN lr.RoleId IS NULL THEN 0 
       ELSE 1 
      END AS BIT) AS IsLoginetRole 
FROM aspnet_Roles r 
     LEFT JOIN loginetRoles lr 
     ON r.RoleId = lr.RoleId