-1

私は3つのテーブルを持っています。

PK table
- company

FK table
- staff
- machines

Table Data:

Company:
ID | NAME
1  | FLY RESORTS

Staff:
ID(fk) | NAME
1      | John Doe
1      | Johny Doe

Machines:
ID(fk) | NAME
1      | Bulldozer
1      | Helicopter
1      | Lorry

私はPDO選択カウントコードを書きました:

    $keyword = "%" . $_GET["keyword"] . "%" ;


    $sql = "SELECT count(*) FROM `company` INNER JOIN staff ON staff.ID = company.ID INNER JOIN machines ON machines.ID = company.ID WHERE (comp.name like '$keyword' or machines.name like '$keyword' or staff.name like '$keyword')"; 
    $result = $conn->prepare($sql); 
    $result->execute(); 
    $numrows = $result->fetchColumn();

を に設定する$keyword'fly'、同じ会社名で複数の結果カウント/行が返されます。

私のコードに問題はありますか? ありがとう

4

2 に答える 2

1

入会するからには、スタッフや機械と連動して同じ会社が何度でも繰り返されます。会社を数えたいだけの場合は、次を使用できます

SELECT COUNT(DISTINCT company.ID) FROM ...
于 2013-06-10T06:08:43.527 に答える