类型表里的名称,在另外一个表里有这个表的名称,但可以为空,现在我要根据类型表的名称查询另一个表的数量
select roomtype.roomtypename,count(client.clientname)
from roomtype inner join client on roomtype.roomtypename like client.needroomtype
group by roomtype.roomtypename使用这样查,但查出来有问题,会比原来的数据多几条
现在怎么查

解决方案 »

  1.   

    试试:
    select roomtype.roomtypename,count(client.clientname)
    from roomtype inner join client on roomtype.roomtypename = client.needroomtype
    group by roomtype.roomtypename
      

  2.   

    select roomtype.roomtypename,count(client.clientname)
    from roomtype left join client on roomtype.roomtypename =client.needroomtype
    group by roomtype.roomtypename不知道,是否你要的
      

  3.   

    SELECT
        a.roomtypename,
        COUNT(DISTINCT b.clientname) --描述不清楚,仅做参考
    FROM
        roomtype a
    INNER JOIN client b
        ON a.roomtypename LIKE b.needroomtype --用like相当于:ON a.roomtypename = b.needroomtype
    GROUP BY
        a.roomtypename