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 ║
╚══════════════╩════════════════════════╩═════════════╩══════════╝
從頂部BUTTOM是SQL連接與不退出
- SocialStatus
- 居民
- SocialType
我想做的事就是加入SocialType和SocialStatus表,則如果居民有這個過濾器,即SeñiorCitizen然後將一個位列分配給真正說明更多信息,請參閱輸出表
我查詢
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我已經更新了問題,並且期望的輸出已經發布,請參閱最後一個表輸出謝謝 – armory09