表机构如下:
          老师      课程     周数    天(星期几)     节次        年级     院系
          张老师    语文    第一周   星期一     第1节-第2节     2008    中文系
          李老师    数学    第一周   星期一     第5节-第6节     2009    数学系
          白老师    英语    第二周   星期一     第1节-第2节     2008    英语系
          张老师    语文    第一周   星期二     第3节-第4节     2010    化学系根据年级和院系条件来查询中文系、2008年级如下:
                星期一          星期二       星期三        星期四     星期五     星期六     星期日
第一节-第二节   数学(李老师) 化学(xx老师)  xx(xx老师)  xx(xx老师)   xx(xx老师)  
第三节-第四节   语文(张老师) 化学(xx老师)  xx(xx老师)  xx(xx老师)   xx(xx老师)
午休
第五节-第六节   化学(xx老师) 化学(xx老师)  xx(xx老师)  xx(xx老师)  xx(xx老师)
第七节-第八节   物理(xx老师) 化学(xx老师)  xx(xx老师)  xx(xx老师)  xx(xx老师)
晚修                           xx(xx老师)
请问sql怎么查询,查询好之后asp.net后台怎么绑定好呢?

解决方案 »

  1.   


    select (select dataD_name from s_dataD where dataD_id=排课表.节次ID) as '节次',(select course_name from b_course where course_id=排课表.课程ID) as 'course_name',  --说明课程名称
    sum(case arrangement_day when '1' then course_name else '无' end) as '星期一',
    sum(case arrangement_day when '2' then course_name else '无' end) as '星期二',
    sum(case arrangement_day when '3' then course_name else '无'end) as '星期三',
    sum(case arrangement_day when '4' then course_name else '无' end) as '星期四',
    sum(case arrangement_day when '5' then course_name else '无' end) as '星期五',
    sum(case arrangement_day when '6' then course_name else '无' end) as '星期六',
    sum(case arrangement_day when '7' then course_name else '无' end) as '星期日' from d_arrangement
    group by d_arrangement.arrangement_day,d_arrangement.arrangement_festival_start_dataD_id,arrangement_course_idsql报  列名 'course_name' 无效。
      

  2.   


    --把你create table 那段发出来!
      

  3.   


    CREATE TABLE [dbo].[d_arrangement](
    [arrangement_id] [int] IDENTITY(1,1) NOT NULL,
    [arrangement_teacher_id] [int] NOT NULL,
    [arrangement_dept_id] [int] NOT NULL,
    [arrangement_course_id] [int] NOT NULL,
    [arrangement_class_id] [int] NOT NULL,
    [arrangement_course_type] [int] NOT NULL,
    [arrangement_term] [varchar](20) NOT NULL,
    [arrangement_grade] [varchar](50) NOT NULL,
    [arrangement_number] [int] NOT NULL,
    [arrangement_date] [datetime] NOT NULL,
    [arrangement_week] [int] NOT NULL,
    [arrangement_day] [int] NOT NULL,
    [arrangement_festival_type] [int] NOT NULL,
    [arrangement_festival_start_dataD_id] [int] NOT NULL,
    [arrangement_festival_end_dataD_id] [int] NOT NULL,
    [arrangement_kind_dataD_id] [int] NOT NULL,
    [arrangement_festival_start_date] [datetime] NULL,
    [arrangement_festival_end_date] [datetime] NULL,
    [arrangement_endweek] [int] NOT NULL,
    [arrangement_status] [int] NOT NULL,
    [arrangement_updateDate] [datetime] NULL CONSTRAINT [DF_d_arrangement_student_card_updateDate]  DEFAULT (getdate()),
    [arrangement_createDate] [datetime] NOT NULL CONSTRAINT [DF_d_arrangement_student_card_createDate]  DEFAULT (getdate()),-----字段没说明
      

  4.   


    arrangement_id arrangement_teacher_id arrangement_dept_id arrangement_course_id arrangement_class_id arrangement_course_type arrangement_term     arrangement_grade                                  arrangement_number arrangement_date        arrangement_week arrangement_day arrangement_festival_type arrangement_festival_start_dataD_id arrangement_festival_end_dataD_id arrangement_kind_dataD_id arrangement_festival_start_date arrangement_festival_end_date arrangement_endweek arrangement_status arrangement_updateDate  arrangement_createDate
    -------------- ---------------------- ------------------- --------------------- -------------------- ----------------------- -------------------- -------------------------------------------------- ------------------ ----------------------- ---------------- --------------- ------------------------- ----------------------------------- --------------------------------- ------------------------- ------------------------------- ----------------------------- ------------------- ------------------ ----------------------- -----------------------
    37             2                      2                   4                     896                  2                       2011上                2011                                               20                 2011-01-27 11:11:37.267 1                1               1                         701                                 701                               801                       2011-01-27 11:11:37.000         2011-01-27 12:11:37.000       1                   1                  NULL                    2011-01-27 11:11:37.280看了你会更纠结的,有的数据都是外键。
      

  5.   

    3楼的查询方法 有个是查询课程的名称,然后在想行转列,但是SQL报课程(course_name)无效
      

  6.   


    在你的d_arrangement表里没有course_name字段。
      

  7.   

    C#数据绑定控件有:Repeater、DataList、GridView、DetailsView
    你这种情况,在ASPNET中建议使用Repeater
      

  8.   

    d_arrangement表里没course_name 只有course_id.select (select dataD_name from s_dataD where dataD_id=排课表.节次ID) as '节次',(select course_name from b_course where course_id=排课表.课程ID) as course_name我是这样的
      

  9.   


    /*
    表机构如下:
              老师      课程     周数    天(星期几)     节次        年级     院系
              张老师    语文    第一周   星期一     第1节-第2节     2008    中文系
              李老师    数学    第一周   星期一     第5节-第6节     2009    数学系
              白老师    英语    第二周   星期一     第1节-第2节     2008    英语系
              张老师    语文    第一周   星期二     第3节-第4节     2010    化学系根据年级和院系条件来查询
    */-->测试数据
    create table tb(
    teacher varchar(15),
    cname varchar(15),
    week varchar(15),
    weekday varchar(15),
    ordnum varchar(20),
    grade varchar(10),
    dept varchar(15)
    )
    insert into tb
    select '张老师','语文','第一周','星期一','第1节-第2节','2008','中文系' union all
    select '张老师','数学','第一周','星期二','第3节-第4节','2008','中文系' union all
    select '张老师','英语','第一周','星期三','第3节-第4节','2008','中文系' union all
    select '张老师','语文','第一周','星期四','第5节-第6节','2009','数学系' union all
    select '张老师','语文','第一周','星期五','第1节-第2节','2008','英语系' union all
    select '李老师','英语','第一周','星期一','第3节-第4节','2010','化学系' union all
    select '李老师','语文','第二周','星期二','第5节-第6节','2008','中文系' union all
    select '张老师','数学','第一周','星期六','第1节-第2节','2008','英语系' union all
    select '张老师','数学','第一周','星期日','第5节-第6节','2008','中文系' union all
    select '白老师','数学','第一周','星期一','第1节-第2节','2009','数学系' union all
    select '白老师','数学','第二周','星期二','第5节-第6节','2008','中文系' union all
    select '张老师','英语','第二周','星期二','第3节-第4节','2008','英语系'
    gocreate table week_day(weekday varchar(10))
    insert into week_day
    select '星期一' union all
    select '星期二' union all
    select '星期三' union all
    select '星期四' union all
    select '星期五' union all
    select '星期六' union all
    select '星期日'
    godeclare @sql varchar(8000)
    set @sql = 'select ordnum [节次]'
    select @sql = @sql + ',isnull(max(case weekday when ''' + weekday + ''' then cname + ''('' + teacher + '')'' end),'''')' + weekday + ''
    from week_day
    select @sql = @sql + ' from tb where grade = ''2008'' and dept = ''中文系'' and week = ''第一周'' group by ordnum'
    exec(@sql)drop table tb,week_day节次                   星期一                              星期二                              星期三                              星期四                              星期五                              星期六                              星期日
    -------------------- -------------------------------- -------------------------------- -------------------------------- -------------------------------- -------------------------------- -------------------------------- --------------------------------
    第1节-第2节              语文(张老师)                                                                                                                                                                                               
    第3节-第4节                                               数学(张老师)                          英语(张老师)                                                                                                                             
    第5节-第6节                                                                                                                                                                                                                    数学(张老师)(3 行受影响)