有一个表 
  name    project    price
   李      数学        90
   李      语文        80
   赵      数学        60
   赵      语文        80    如何写成SQL能得到如下结果,
  李      数学      90
          语文      80
  赵      数学      60
          语文      80

解决方案 »

  1.   

    李      数学      90
              语文      80
    赵      数学      60
              语文      80
    这个是没办法一次得到的。
    可以先得到一个name,用distinct。
    然后用dataset.next一个一个找出科目。
      

  2.   

    我是用DELPHI ,在DBGRID里显示数据,如下格式
    ——————————————
    李    |  数学  |    90    |
    ——————————————
          |  语文  |   80     |
    ——————————————
    赵    |  数学  |    60    |
    —————————————— 
          |  语文  |    80    |
    ——————————————
    请给出具体的代码,不胜感激,急须
      

  3.   

    sql 里有没有分组的涵数,求教一定给分
      

  4.   

    1,select distinct name from table_1   //主表
    2.select * from table_1 where name=:name   //副表
    按照name 分组,对显示name的qrdbtext控件,在所在的band中的endprint事件下加:
    qrdbtext.enable:=false
    在分组的band的beginpring事件下加 qrdbtext.enable:=true
      

  5.   

    不好意思,我以为你是要打印的效果,
    如果是显示在dbgrid中,
    select * from table_1 order by name
    但是同名的几条,都有name值,我想DBGRId不可以合并吧,vb中有一个空间还是可以地
      

  6.   

    1.sql:
       select * from tablename 
        group by name,project,price
      2.dephi:
      var
       str:string;   str:='';
       dagrid.datasource.dataset.first;
       
      with dbgrid.datasource.dataset  do
      while not eof do  
      begin     
        if fieldvalues['name'] = str then
           str:=''
        else  fieldvalues['name']<> str then
           str:=fieldvalues['name'] ;
        fieldvalues['name'] :=str;
        Next;
      end;