UNITS
、ROOMS_CHECK_IN
、COMMENTS
の3つのテーブルでLEFT JOIN
を使用する必要があります。基本的に私はUNITS
を表示したいと思うし、部屋の各ユニット数のチェックインとコメントのカウント。しかし、私は部屋のチェックインとコメントカウントのために実行しているときに私は同じ4桁の番号を取得しています。 1つの左結合で2つのクエリを分離すると、正常に動作します。以下は3つのテーブルに左結合?
クエリです:
SELECT u.ID,
u.unit_name,
count(c.checkin_status) as total_chekin ,
count(com.ID) as total_comment ,
h.hospital_name
FROM HOSPITALS h, UNITS u
LEFT OUTER JOIN ROOMS_CHECK_IN c ON c.unit_id = u.ID AND c.room_status=0
LEFT OUTER JOIN COMMENTS com ON com.unit_id = u.ID
WHERE h.ID = u.hospital_id AND u.hospital_id=3
GROUP BY u.ID;
親切に助け。
明示的な 'JOIN'のsintaxisの使用を推進し、アーロン・ベルトランは素晴らしい記事を書いた[悪い習慣をキックする:古いスタイルを使用しますJOINs](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx)を参照してください。 –