Create Table stuTable
(
    stuName nvarchar(20),
    stuAge Int,
    stuClass nvarchar (20)
)
Create Table stuScore
(
    stuName nvarchar(20),
    CNLanguage int,
    Math int
)Select stuName, stuAge, stuClass, (Select sum(CNLanguage) From stuScore where stuScore.stuName=stuTable.stuName) as '语文总成绩',(Select sum(Math) From stuScore where stuScore.stuName=stuTable.stuName) as '数学总成绩' from stuTable

解决方案 »

  1.   


    CREATE TABLE [dbo].[StudentInfo](
    [ID] [int] NOT NULL,
    [Name] [nvarchar](50) NOT NULL,
    [Age] [int] NOT NULL,
    [Address] [nvarchar](255) NULL,
    [Class] [nvarchar](50) NOT NULL,
     CONSTRAINT [PK_StudentInfo] PRIMARY KEY CLUSTERED 
    (
    [ID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    //
    CREATE TABLE [dbo].[Grades](
    [ID] [int] NOT NULL,
    [StudentID] [int] NOT NULL,
    [ChineseLang] [float] NULL CONSTRAINT [DF_Grades_ChineseLang]  DEFAULT ((0)),
    [Math] [float] NULL CONSTRAINT [DF_Grades_Math]  DEFAULT ((0)),
    [QuizDate] [datetime] NULL,
     CONSTRAINT [PK_Grades] PRIMARY KEY CLUSTERED 
    (
    [ID] ASC,
    [StudentID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]GO
    ALTER TABLE [dbo].[Grades]  WITH CHECK ADD  CONSTRAINT [FK_Grades_StudentInfo] FOREIGN KEY([StudentID])
    REFERENCES [dbo].[StudentInfo] ([ID])
    GO
    ALTER TABLE [dbo].[Grades] CHECK CONSTRAINT [FK_Grades_StudentInfo]
    //
    select si.ID,Name,Age, Address,Class,avg(ChineseLang),avg(Math) from StudentInfo si
    inner join Grades g on si.ID = g.StudentID group by si.ID,Name,Age,Address,Class