SQL 서버에 다음과 같은 테이블이 있습니다 & 특정 서브 디렉토리에 대해 동일한 AdminId로 EmailIds를 가져와야합니다. 특정 서브 ID에 대해 동일한 AdminId를 가진 Ids 가져 오기
MAPPING table SubsId AdminId EmailId 1 1 1 1 1 2 1 2 3 1 2 2 2 2 2
특정 하위 ID (예 : 1)에 대해 동일한 AdminId로 EmailIds를 가져와야합니다. 나는이 길을 가고있다, 더 좋은 길은 있니?
public class Mapping
{
public int SubsId {get; set;}
public int AdminId {get; set;}
public List<int> LstEmailId {get; set;}
}
SELECT distinct(ADMINID) FROM MAPPING WHERE SUBSID = 1.
반환되는 관리자 ID를 int 목록에서 가져온 다음 목록의 모든 관리 ID를 반복합니다. AdminId가 List LstAdminIds에 있다고 가정 해 봅시다.
var ObjLstMapping = new List<Mapping>();
foreach(AdminId in LstAdminIds)
{
var LstEmailIds = List<int>();
SELECT EMAILID FROM MAPPING WHERE SUBSID=1 AND ADMINID = AdminId
// execute this query which will return a set of rows. Loop through each row & add to the list LstEmailIds
while(ObjSqldataReader.Read())
{
LstEmailIds.Add(Convert.Tont32(ObjSqldataReader["EMAILID"]))
}
ObjLstMapping. Add(new Mapping
{
SubsId = 1,
AdminId = AdminId,
LstEmailId = LstEmailIds
});
}