2011-04-26 31 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には、1つのフィールド、つまりRoleIdが含まれています。どのようにIsLoginetRoleフィールドをGuid値からビット値に置き換えることができますか?Sql Server 2008の計算フィールド

+2

ブール型データ型はありません。 「ビット」のみ。 'guid'から' bit'への変換には、どのようなロジックが必要ですか? 'NOT NULL'ならば' 1'を返し、そうでなければ '0'を返しますか? –

+0

Martin、そうです。 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