select zj_cl.che_h ,zj_dw.dw_name from zj_cl,zj_dw where zj_cl.dw_bh=zj_dw.dw_bh  and zj_dw.dw_bh='00!005'
烟台市人民检察院 G鲁F00310
烟台市人民检察院 G鲁F06006
烟台市人民检察院 G鲁F06008
烟台市人民检察院 G鲁F06009
烟台市人民检察院 G鲁F08218
烟台市人民检察院 G鲁F13669结果要这样:烟台市人民检察院  G鲁F00310  G鲁F06006 G鲁F06008 G鲁F06009 G鲁F08218 G鲁F13669 ????

解决方案 »

  1.   

    SQL Server 联机丛书,索引“交叉数据报表”,对你可能有帮助
      

  2.   

    如果你的数据要放入datagrid中..那么datagrid 的列也得动态生成..如果是这样就麻烦了¬¬¬
      

  3.   

    先把数据放到datatable里,然后再来一次循环,行不?
      

  4.   

    create table log1(id varchar(10),[user] varchar(10),password varchar(10))
    create table log2(id varchar(10),logindate varchar(10))
    insert log2
    select '1','aa1' union all
    select '2','bb2' union all
    select '1','cc3' union all
    select '1','sdf' union all
    select '3','dfgd' union all
    select '3','htr'
    select *from log2  以前老贴就有过这样的,可以看一下,模拟吧
      

  5.   

    先在sql 中求出有多少条记录,
    然后根据记录数年的多少 动态使用 "+ "连运算
      

  6.   

    如果是为了显示,大可以不必要这么麻烦。分2步绑定就行了。如果是查询结果为了插入到新表,那么新表的字段数应该是已知的,有了这个字段数就可以写Sql了。如果没有,那可不好写。有时候巧妙的绕开问题比钻着死问题要更好。
      

  7.   

    直接Sql出来,的确很难.或者如 godgirl() 所说,在存储过程内用临时表,两年前提过这个问题,至今没有解决,帮你顶
      

  8.   

    烟台市人民检察院  G鲁F00310  G鲁F06006 G鲁F06008 G鲁F06009 G鲁F08218 G鲁F13669
    如果这些数据是在C#的表格控件显示,可否用以下方式呢?ListView list; // 你的显示控件DataSet ds = select zj_cl.che_h ,zj_dw.dw_name from zj_cl,zj_dw where zj_cl.dw_bh=zj_dw.dw_bh  and zj_dw.dw_bh='00!005'
    for(int i=0; i < ds.tables[0].rows.Count; i++)
    {
      // 如果列表比行数少,那么加入一个新列来显示。
      if (i > list.Columns.Count)
      {
         list.Columns.Add(new Columns());
      }
      // 设置该列的文本
      list[表格的行索引][i].Text = ds.tables[0].rows[i][dw_name];
    }
      

  9.   

    DECLARE @platenums varchar(8000)
    SET @platenums = ''DECLARE plate_cursor CURSOR FOR
      select zj_cl.che_h ,zj_dw.dw_name from zj_cl,zj_dw where zj_cl.dw_bh=zj_dw.dw_bh  and zj_dw.dw_bh='00!005'DECLARE @cheh varchar(50), @dwname varchar(50)OPEN plate_cursor
    FETCH NEXT FROM plate_cursor INTO @cheh, @dwnameWHILE @@FETCH_STATUS = 0
    BEGIN
      SET @platenums = @platenums + ' ' + @dwname
      FETCH NEXT FROM plate_cursor INTO @cheh, @dwname
    ENDCLOSE plate_cursor
    DEALLOCATE plate_cursorSELECT @cheh AS che_h, @platenums AS dw_name
    完全根据楼主的需要编写的SQL,已测试
    不过如第一行所暗示,车牌那边总长超过8000的话,就出错了