按两个字段排序的SQL问题:type=是,按时间显示在datagrid前面type=否,按时间显示在datagrid后面,这样的SQL要怎么写啊??

解决方案 »

  1.   

    if type = '是'
    begin
        select * from Table order by 时间 desc
    end
    else
    begin
        select * from Table order by 时间 asc 
    end
      

  2.   

    Dim sql As String
                Dim Cmd As New System.Data.SqlClient.SqlCommand(sql, conn)
                Dim rd As System.Data.SqlClient.SqlDataAdapter
                Dim ds As DataSet
                Dim dv As DataView
                conn.Open()
                
    if type = '是'
    begin
        sql="select * from Table order by 时间 desc"
    end
    else
    begin
        sql="select * from Table order by 时间 asc"
    end            rd = New System.Data.SqlClient.SqlDataAdapter(sql, conn)
                ds = New DataSet
                rd.Fill(ds, "hx_info")
                dv = ds.Tables("hx_info").DefaultView
                DataGrid1.DataSource = dv
                DataGrid1.DataBind()绑定的时候是这样写的吗???
      

  3.   

    if type = '是'
    begin
        select * from Table order by 时间 desc
    end
    else
    begin
        select * from Table order by 时间 asc 
    end
    ===========================================
    正解~~~
      

  4.   

    绑定的时候不是这样写的。if type = '是'
    begin
        select * from Table order by 时间 desc
    end
    else
    begin
        select * from Table order by 时间 asc 
    end以上这段代码应该是存储过程的代码,把它放到一个存储过程中进行调用。不过如果不明白存储过程的调用的话,可以根据这段代码的思路自己在vb.net中实现。
      

  5.   

    如果不用存储过程的实现方法如下:
    bool bl=true;//这里是变量,可以通过request来进行修改
    if(bl==true)
    {
           //数据库处理函数略
           select * from Table order by 时间 desc}
    else
    {
                //数据库处理函数略
           select * from Table order by 时间 asc 
    }基本原理就是这样.
      

  6.   

    Select * From Table where ... ORDER BY 
    CASE WHEN type='是' THEN 1 
    WHEN type='否' THEN 2
    END,时间 desc/asc
      

  7.   

    按两个字段排序的SQL问题:type=是,按时间降序显示在datagrid前面type=否,按时间降序显示在datagrid后面,就是所有记录type=是,要显示在type=否,的前面,用datagrid显示这样的SQL要怎么写啊??
      

  8.   

    if type =yes
    select * from table order by type desc
    else
    select * from table order by type asc
      

  9.   

    就是所有记录type=是,要显示在type=否,的前面,用datagrid显示不是一个降序,一个升序,怎么还没理解啊
      

  10.   

    type=是的时候如果在前面,type=否的就自然在后面了啥不知道LZ要求的是什么::
    type=是,按时间降序显示在datagrid前面type=否,按时间降序显示在datagrid后面,就是所有记录type=是,要显示在type=否,的前面,用datagrid显示
      

  11.   

    Create Proc Proc_Info_Filter
    (
       @SQLEx varchar(1000)
    )
    as
    BEGIN
       DECLARE @strSQL VARCHAR(2000);
       SET @strSQL='SELECT * FROM VIEW_INFO_FILTER WHERE(1>0)';
       IF(@SQLEx IS NOT NULL AND RTRIM(LTRIM(@SQLEx))<>'' AND @SQLEx<>N'')
       BEGIN
         SET @strSQL=@strSQL+@SQLEx;
       END
       exec(@strSQL);
    END
    --在前台传查询条件就可以了在
    string strSQL="";
    if(ckbl.checked==true)
    {
       strSQL+=" ORDER BY ID DESC";  
    }
    ELSE
    {
       strSQL+=" ORDER BY ID ASC";
    }