select top 5 * from Orders select OrderID,Products,ProductName,[order Details].Unitprice,[order details].QUantity from [order Details],Products where [Order Details].ProductID=products.ProductID数据库是SQL2000 NORTHWIND里面的,好像是三个表,这个SQL能解释一下马。

解决方案 »

  1.   

    从[order Details],Products 两个表提取数据作为新的数据源
    再从新的数据源中取5条数据
      

  2.   

    楼主可能写错了吧
    应该这样理解:
    select top 5 *
    from Orders,(select OrderID,Products,ProductName,[order Details].Unitprice,[order details].QUantity from [order Details],Products )--查询结果当做一个表来供其他的查询,这里可以取个别名的
    where [Order Details].ProductID=products.ProductID
      

  3.   

    楼主可能写错了吧
    应该这样理解
    select top 5 *
    from
    Orders(select OrderID,Products,ProductName,[order Details].Unitprice,[order details].QUantity 
    from [order Details],Products 
    where [Order Details].ProductID=products.ProductID)--将查询的结果作为另一个查询的表了,Orders为这个表的别名
      

  4.   

    完整的是这样的,书上这样写的
    string strConn=ConfigurationSettings.AppSettings["itschoolconn"];
    myConnection.ConnectionString=strConn;
    string strSQL="select top 5 * from Orders select OrderID,Products,ProductName,[order Details].Unitprice,[order details].QUantity from [order Details],Products where [Order Details].ProductID=products.ProductID
    ";
    SqlDataAdapter da=new SqlDataAdapter(strSQL,myConnection);
    DataSet ds=new DataSet();
    da.Fill(ds);
    ds.Tables[0].TableName="bbsreforum";
    ds.Tables[1].TableName="student";
    DataColumn Parent=ds.Tables["bbsreforum"].Columns["sno"];
    DataColumn Child=ds.Tables["student"].Columns["sno"];
    DataRelation tableRelation=new DataRelation("tableRelation",Parent,Child,false);
    ds.Relations.Add(tableRelation);
    DataGrid1.DataSource=ds.Tables["bbsreforum"].DefaultView;
    DataGrid1.DataBind();
      

  5.   

    然后再页面里面DataGrid2中绑定数据源<asp:DataGrid id="DataGrid2" runat="server" Width="88px" Height="48px" DataSource='<%#((System.Data.DataRowView)Container.DataItem).CreateChildView("tableRelation")%>' DataKeyField="sno" AutoGenerateColumns="False"
      

  6.   

    string strSQL中包含多个select查询是没问题的。呵呵,也许是印刷问题。你把逗号改为“点”就OK了。
    "select top 5 * from Orders 
    select OrderID,Products.ProductName,[order Details].Unitprice,[order details].QUantity from [order Details],Products where [Order Details].ProductID=products.ProductID";
      

  7.   

    select top 5 * from Orders 查出订单表中前5项详细信息;
    select OrderID,Products.ProductName,[order Details].Unitprice,[order details].QUantity from [order Details],Products where [Order Details].ProductID=products.ProductID查出详细订单中供应商id,产品名称,单价,数量.
      

  8.   

    可是其实里面有三个表  ORDERS , PRODUCTS  ,ORDER DETAILS 呀
      

  9.   

    楼主这个sql语句一点也没错,我也用过这个例子,这是《asp.net专家答疑200问》里面的例子吧,
    我也用过,能行的