如何为每一行选择评论

时间:2010-08-15 13:47:36

标签: c# sql sql-server-2005 tsql

我有events表除了Id PK之外还包含很多cols 和表格Comments,其中包含texteventIdId PK。
如何在一个单独的sql语句中选择事件信息及其注释,如何使用它以及它应该是什么样子的?

请注意,EventId(评论)= Id(事件)

2 个答案:

答案 0 :(得分:5)

那应该这样做......

SELECT * FROM events
INNER JOIN comments on comments.eventid = events.id

如果您不需要所有列,最好只选择您真正需要的列。

SELECT Id, eventId FROM events
INNER JOIN comments on comments.eventid = events.id

要在C#代码中提取它,您可以使用System.Data样式:

using (SqlConnection connection = new SqlConnection("Put your ConnectionString here"))
{
    connection.Open();
    using (SqlDataAdapter adapter = new SqlDataAdapter("My SQL from Above", connection))
    {
        DataTable table = new DataTable();
         adapter.Fill(table);
         // now you can do here what ever you like with the table...

         foreach(DataRow row in table.Rows)
         {
            if (row.IsNull("Text") == false)
               Console.WriteLine(row["Text"].ToString());
         }
    }
}

答案 1 :(得分:0)

我会使用以下声明:

SELECT e.Id, c.Id, c.text
FROM events e
INNER JOIN Comments c ON e.Id = c.EventId