现在有四个表,book表(bookno,bookname)书籍编号,书籍名称
              bookaward表(bookno,awardtitle)书籍编号,获奖名称
              bookauthor表(bookno,userno)  书籍编号,作者编号
              teacher表(userno,username) 作者编号,作者名称比如说:现在我要查询书名为“数据库新技术”获奖名称为“先进教材奖”作者名称为“winter”的所有书号。用一个sql语句怎么写??我是这样写的,出错,高手帮忙修改一下!!
select bookno from Book, Bookaward, Bookauthor,Teacher where bookname='数据库新技术'and awardtitle='先进教材奖'and username='winter'and Book.bookno=Bookaward.bookno and Book.bookno=Bookauthor.bookno and Bookauthor.userno=Teacher.userno.

解决方案 »

  1.   

    错了,我是这么写的,不好用,大家帮忙看看
    select Book.bookno from Book, Bookaward, Bookauthor,Teacher where Book.bookname='数据库新技术'and Bookaward.awardtitle='先进教材奖'and Teacher.username='winter'and Book.bookno=Bookaward.bookno and Book.bookno=Bookauthor.bookno and Bookauthor.userno=Teacher.userno.
      

  2.   

    select b.bookno
      from book b,
           bookaward ba,
           bookauthor au,
           teacher te
     where b.bookno = ba.bookno
       and b.bookno = au.bookno
       and au.userno = te.userno
       and b.bookname='数据库新技术'
       and ba.awardtitle='先进教材奖'
       and te.username='winter';