私はuserProfiles.UserProfilesId
というIDがフィールドUserProfiles.ManagerId
にあるかどうかを判断して、ユーザーがマネージャであるかどうかを判断しようとしています。私の現在のSQLステートメントは、IDが有効ではないと言います。この情報を判断するために作成できるサブクエリはありますか?他の列に現在の行の値がありますか?
SELECT
IsNull(PersonalTimeRemaining, 0) as PTO,
UserProfiles.UserProfileId as id,
us.Email,
us.LastName + ', ' + us.FirstName,
managers.Email as 'manager',
case when PersonalTimeRemaining is null then 'hourly' else 'salary' end as salaryType,
case when
EXISTS(SELECT * from UserProfiles where id = UserProfiles.UserProfileId)
then 'User' else 'Manager' end as salaryType
FROM UserProfiles
inner join Users as us on us.UserId = UserProfiles.UserProfileId
inner join Users as managers on managers.UserId = UserProfiles.ManagerId
をあなたはどのようなものです:ここでは
はそれをよく理解することは簡単な例でありますここにしようとしている?サブクエリが必要な理由は、UserProfilesのIDを既に知っていますか? – Samiは、あなたがタイプミスのようです: 'id = UserProfiles.UserProfileId'、それは' ManagerId = UserProfiles.UserProfileId'ではありませんか? –
脇に、内部結合を使用しているため、このクエリは通常のユーザーと管理者の両方のユーザーのみを返します。 –