Nasıl çoğaltılamaz değerlerin sayısını almak ve her bir değerin adını almak için masaya katılmak mı?

1 Cevap php

İki tablo, gönüllü içeren bir ve mekanları içeren bir tane var. Volunteers are assigned one venue each.

Yerleri tablo (venues.id) ve kimliği venue_id sütununda (volunteers.venue_id) de gönüllü tablo içinde yerleştirilir.

Ben eşleşen değerleri volunteers.venue_id sütunda tarafından kaç sayımını alabilir biliyorum

SELECT venue_id, COUNT(*) FROM volunteers GROUP BY venue_id

Ben bunu yapmak istiyorum: Neden bu kadar kullanıcı gitmek ve her yerde atanan kaç gönüllü görebilirsiniz.

tablo: gönüllüler - sütunlar: id, adı, venue_id

tablo: yerleri - sütunlar: id, venue_name

volunteers.venue_id = venues.id

Ben sayısı ile birlikte venues.venue_name venues.id ve yazdırmak için volunteers.venue_id kadar maç sonra, her mekan sayısını alacak kadar bu çeşit bir katılmak ifadesi olacağını biliyorum.

Nasıl mekan adını yazdırmak ve yanında, o venue_id ile her gönüllü sayısını listelemek için iki tablo birleştirme hakkında gitmek istiyorsunuz?

1 Cevap

Bu, o bir 0 volunteer_count ile gösteren hiçbir gönüllüler sahip, size mekanlarından tüm verecek

select venues.venue_name, count(*) as volunteer_count
from venues
left outer join volunteers
   on venues.id = volunteers.venue_id
group by venues.venue_name

[EDIT] Ben sadece MySQL istedi gerçekleşmiştir. MySQL LEFT JOIN veya SOL DIŞ JOIN kullanıyorsa ben hatırlamıyorum. Yukarıdaki sözdizimi SQLSERVER için doğru olacaktır. Kilit nokta dış birleşim yerine iç hiçbir gönüllüler mekanları almak katılmak olduğunu.