表Books 内 有  BID  BookName  BookType(外码) 字段,  表Types 内有 ID BookType(主码)字段,,
其中        Books.BookType 参照  BookType表。
例如
Books表                                                                                       Types表
BID            BookName      BookType                                      ID               BookType
1001           shuben             c#                                                 1                     C#
1002            xixi                   php                                               2                     Java
1003             hehe               php                                               3                    php
 
这么查出 Types表 各种书本类型  各 有多少本书
例如: 查出的结果为
                      C#        1
                      java      0
                      php      0 
这条SQL语句该如何写呢 ? ????      纠结了很久

解决方案 »

  1.   

    select BookType ,count(BookType) from
    BookName 
    group by BookType
      

  2.   

    表Books 内 有 BID BookName BookType(外码) 字段, 表Types 内有 ID BookType(主码)字段,,
    其中 Books.BookType 参照 BookType表。
    例如
    Books 表                                                  Types表
    BID    BookName    BookType                       ID         BookType
    1001    shuben           c#                                  1             C#
    1002        xixi              php                               2             Java
    1003       hehe            php                                3             php
     
    这么查出 Types表 各种书本类型 各 有多少本书
    例如: 查出的结果为
                                    C#            1
                                    java          0
                                    php          2 
    这条SQL语句该如何写呢 ? ???? 纠结了很久
    修改了一下
      

  3.   

    create table #Books
    (
    BID int ,
     BookName nvarchar(20),
     BookType nvarchar(20)
    )
    create table #BookType
    (
    ID int ,
    BookType nvarchar(20)
    )insert into #Books values(1001,'csharpA','C#')
    insert into #Books values(1002,'csharpB','C#')
    insert into #Books values(1003,'csharpC','C#')
    insert into #Books values(1004,'JavaA','Java')
    insert into #Books values(1005,'JavaB','Java')
    insert into #Books values(1006,'PHP','PHP')insert into #BookType values(1, 'C#')
    insert into #BookType values(2, 'Java')
    insert into #BookType values(3, 'PHP')select count(#Books.BookType) as TotalCount, #Books.BookType from 
    #Books left join #BookType on #Books.BookType=#BookType.BookType 
    group by #Books.BookTypeResult:
    3 C#
    2 Java
    1 PHP自己试下吧,用到一个外连接和分组
      

  4.   


    select Types.BookType,count(Books.BID)
    from Types left join Books 
    on Types.BookType=Books.BookType
    group by Types.BookType