$query="SELECT count(queries.id) as queries, count(answers.id) as answers, count(users.id) as users  FROM queries,answers,users";你试试,我没有这么写过

解决方案 »

  1.   

    对了,如果answers.id有重复的话,count()一下的话,会不会少掉重复的行数??
      

  2.   

    $query="SELECT count(queries.id) as queries, count(answers.id) as answers, count(users.id) as users  FROM queries,answers,users";不对,我试了!!
      

  3.   

    不可以!
    你  FROM queries,answers,users";
    同时打开3张表但没有给出他们之间的连接关系,数据库系统将假定他们全连接,只能得到3张表记录数的乘积只能
    select count(*) as cnt FROM queries
    union
    select count(*) as cnt FROM answers
    union
    select count(*) as cnt FROM users;将得到3条记录的返回结果,分别为3张表的记录数
      

  4.   

    同时打开3张表但没有给出他们之间的连接关系,数据库系统将假定他们全连接
    是的,楼上您的理解正确!
    我的到的结果是:queries.id*answers.id*users.id=280(即5*8*7)
      

  5.   

    $query="SELECT count(*) AS queries_sum FROM queries union SELECT count(*) AS answers_sum FROM answers union SELECT count(*) AS users_sum FROM users";
    还有错!