私は3つのテーブルエリア、乗り物と従業員を持っています。 ward_noは車両と従業員の外部キーです。 車両の台数と従業員数を選択し、他のエリアの詳細とともに表示したい。 私が使用したクエリは次のとおりです。別のテーブルからカウント(列)を選択
select a.* ,count(v.vid) as vehicles,count(e.eid) as employees from area a,vehicle v,employee e where v.ward_no=a.ward_no and e.ward_no=a.ward_no group by a.name;
しかし、出力は私が欲しいものではありません。特定のエリアに車両/従業員の総数を表示する代わりに、カウントが使用される列の両方で同じ値が得られます。 私はあなたがユニークな車や従業員のCOUNT()
GET回数
SELECT
a.*,
COUNT(DISTINCT v.vid) AS vehicles,
COUNT(DISTINCT e.eid) AS employees
FROM
`area` a
JOIN vehicle v
ON v.ward_no = a.ward_no
JOIN employee e
ON e.ward_no = a.ward_no
GROUP BY a.name
あなたが何を、あなたは何を手に入れた、何をしようとしました:
はまた、それが明示的に使用することをお勧めしますが、このように、むしろ暗黙のより登録しようあなたは得ることを期待しましたか?どうぞご覧ください(http://stackoverflow.com/help/how-to-ask) – swe