다음 쿼리 사용 :
SELECT
CASE WHEN t.id = (SELECT TOP 1 id -- Sub query
FROM Subsubjects t3
WHERE t3.subject_id = t.subject_id
ORDER BY t3.id) THEN q.description
ELSE ''
END AS Subjects, t.description AS Subsubjects, t.department_id
FROM Subsubjects t
LEFT JOIN subjects q ON q.id = t.subject_id
ORDER BY t.id
을 그리고 다음과 같이 예상 된 데이터를 반환합니다 :
*****************************
subject * sub-subject * dep *
*****************************
sub_1 * sub sub1 * 1 *
*********************
* sub sub2 * 2 *
*****************************
sub_2 * sub sub 4 * 1 *
*****************************
sub_3 * sub sub 3 * 1 *
*********************
* sub sub 5 * 2 *
*********************
* sub sub 6 * 2 *
*****************************
다음은 우리가 SQL 쿼리 목록 개체를 처리하는 방법을 예입니다
public List<Product> GetAllProducts() //GetAllProducts() is a list-type method
{
Query = "SELECT * FROM Products";
Command = new SqlCommand(Query, Connection);
Connection.Open();
Reader = Command.ExecuteReader();
List<Product> products = new List<Product>(); //Created a list
while (Reader.Read())
{
Product product = new Product(); //Created an object from the class
product.ProductId = Convert.ToInt32(Reader["ProductID"]);
product.CategoryId = Convert.ToInt32(Reader["CategoryID"]);
product.ProductName = Reader["ProductName"].ToString();
product.Details = Reader["Details"].ToString();
product.Price = (double)Reader["Price"];
product.Stock = Convert.ToDouble(Reader["Stock"]);
products.Add(product); //Finally bind the object with the list
}
Reader.Close();
Connection.Close();
return products;
}
일부 샘플 테이블 데이터와 예상되는 결과를 추가하십시오. – jarlh
"일부 샘플 테이블 데이터"란 무엇입니까? 보기를보고 싶니? – foo
나는 가장 빠르고 가장 좋은 방법을 사용하고 싶다. – foo