select book1.书号,book1.书名,book1.作者,book2.类别 from book1,book2 where book1.书号=book2.书号 and book2.类别='某个值'或 
select book1.*,book2.类别 from book1,book2 where book1.书号=book2.书号 and book2.类别='某个值'

解决方案 »

  1.   

    mysql> SELECT book1.书号,书名,作者,book2.类别  FROM book1,book2 WHERE book1.书号 = book2.书号 order by book2.类别;
      

  2.   

    数据库的表如上所建,运行以下语句
    $result=mysql_query("select * from book1 where book1.book_id=book2.book_id add book2.book_category=$book_category");
    $myrow = mysql_fetch_array($result);
    $numrows=mysql_num_rows($result);
    有错误提示如下
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/EdiorWeb/www.goldmay.com/html/book1/list.php on line 7Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/EdiorWeb/www.goldmay.com/html/book1/list.php on line 8其中book_category由表单提交获得
      

  3.   

    条件连接字符错了,应该是 and ,而不是add
      

  4.   

    表book1
    book_id   book_name  book_author  book_content
    1001      围城
    1002      冬天表book2
    booi_id   book_category
    1001      小说
    1002      小说
    $result=mysql_query("select count(*) from book1,book2 where book1.book_id=book2.book_id and book2.book_category='$book_category'");
    $myrow = mysql_fetch_array($result);
    $numrows=mysql_num_rows($result);
    echo $numrows;前面这段语句所要达到的目的是输出是 小说 类的所有图书的信息
    分析应该输出2
    可程序执行结果为1
    不知到错在哪里,正确的该怎么写?
      

  5.   

    试试:
    $result=mysql_query("select * from book1,book2 where book1.book_id=book2.book_id and book2.book_category='$book_category'");
      

  6.   

    你用了count,他在数据库返回第一次正确结果的时候就停止不在继续向下查找了。
    也就是说用count会在第一次满足where条件的时候停止继续查找。
      

  7.   

    我想应该是这样吧,用count(*),返回的是一条记录,而这个记录的值为2,count(*)是返回一个表中的行数,所以你得到的就是1!
    不知道我说明白了吗?