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 ????
烟台市人民检察院 G鲁F00310
烟台市人民检察院 G鲁F06006
烟台市人民检察院 G鲁F06008
烟台市人民检察院 G鲁F06009
烟台市人民检察院 G鲁F08218
烟台市人民检察院 G鲁F13669结果要这样:烟台市人民检察院 G鲁F00310 G鲁F06006 G鲁F06008 G鲁F06009 G鲁F08218 G鲁F13669 ????
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 以前老贴就有过这样的,可以看一下,模拟吧
然后根据记录数年的多少 动态使用 "+ "连运算
如果这些数据是在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];
}
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的话,就出错了