SocialStatus
╔═════════════════════════════════════════════════════════════════╗
║ SocialStatusId | SocialTypeId | ResidentId | Details | IsActive ║
╠═════════════════════════════════════════════════════════════════╣
║ 16 | 5 | 2 | Sample | 1 ║
║ 17 | 6 | 4 | kgfhkhgf| 0 ║
║ 18 | 8 | 2 | NULL | 1 ║
║ 19 | 8 | 6 | NULL | 0 ║
║ 21 | 5 | 8 | asdasd | 1 ║
║ 22 | 5 | 3 | adasd | 0 ║
╚═════════════════════════════════════════════════════════════════╝
Resident
╔════════════╦═══════════╦════════════╦══════════╦════════════╦═════════╦══════════╦═══════════════╦═══════════════╦══════════╦══════════╗
║ ResidentId ║ FirstName ║ MiddleName ║ LastName ║ Birthdate ║ Address ║ GenderId ║ ContactNumber ║ IsNonResident ║ IsActive ║ StreetId ║
╠════════════╬═══════════╬════════════╬══════════╬════════════╬═════════╬══════════╬═══════════════╬═══════════════╬══════════╬══════════╣
║ 8 ║ Jonathan ║ Santos ║ Guinto ║ 2016-11-17 ║ Sample ║ 1 ║ 09107435739 ║ 0 ║ 1 ║ NULL ║
╚════════════╩═══════════╩════════════╩══════════╩════════════╩═════════╩══════════╩═══════════════╩═══════════════╩══════════╩══════════╝
SocialType
╔══════════════╦════════════════════════╦═════════════╦══════════╗
║ SocialTypeId ║ SocialName ║ Description ║ IsActive ║
╠══════════════╬════════════════════════╬═════════════╬══════════╣
║ 1 ║ Sample ║ Sample0001 ║ 0 ║
║ 2 ║ Sample2 ║ Sample222 ║ 0 ║
║ 3 ║ Sample3 ║ Sample3123 ║ 0 ║
║ 4 ║ Sample4 ║ Sample4 ║ 0 ║
║ 5 ║ Person with disability ║ Happy ║ 1 ║
║ 6 ║ Señior Citizen ║ Sample ║ 1 ║
║ 7 ║ Unemployed ║ sample ║ 1 ║
║ 8 ║ Indigence ║ sample ║ 1 ║
║ 9 ║ Rowllens ║ asdasdasd ║ 0 ║
║ 10 ║ ║ ║ 0 ║
╚══════════════╩════════════════════════╩═════════════╩══════════╝
Сверху днище являетсяSQL присоединяется не выходит
- SocialStatus
- Resident
- SocialType
то, что я хочу сделать, это присоединиться к SocialType и SocialStatus таблицу затем фильтр, если у Resident это значение, то есть Señior Citizen, тогда бит столбца присваивается правда, чтобы проиллюстрировать более см таблицу вывода
Мой запрос
SELECT
st.SocialTypeId,
st.SocialName,
CASE WHEN ss.SocialStatusId IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS IsAssign
FROM dbo.SocialType st
LEFT JOIN dbo.SocialStatus ss ON st.SocialTypeId = ss.SocialTypeId
WHERE ss.IsActive = 1 AND ss.ResidentId = 8
это возвращение запрос только один столбец SocialType таблица выход
╔══════════════╦════════════════════════╦══════════╗
║ SocialTypeId ║ SocialName ║ IsAssign ║
╠══════════════╬════════════════════════╬══════════╣
║ 5 ║ Person with disability ║ 1 ║
╚══════════════╩════════════════════════╩══════════╝
выход Желание что-то вроде это
╔══════════════╦════════════════════════╦══════════╗
║ SocialTypeId ║ SocialName ║ IsAssign ║
╠══════════════╬════════════════════════╬══════════╣
║ 5 ║ Person with disability ║ 1 ║
║ 6 ║ Señior Citizen ║ 0 ║
║ 7 ║ Unemployed ║ 0 ║
║ 8 ║ Indigence ║ 0 ║
╚══════════════╩════════════════════════╩══════════╝
КАК запрос возвращает только один столбец !! –
Пожалуйста, укажите имя для всех таблиц, это очень запутанно и выведет желаемый результат вместо того, что возвращается ваш запрос. – Susang
@Suraz i уже обновил вопрос, и желаемый результат уже отправлен, см. Последний результат таблицы. Спасибо – armory09