Üç tablo (bunlar ilgili sütunlar vardır):
Table1
bookingid, person, role
Table2
bookingid, projectid
Table3
projectid, project, numberofrole1, numberofrole2
"Role1" veya "role2": Table1.role iki değer alabilir.
Ne yapmak istiyorum don't Tablo1'e rolleri doğru sayıda projeleri hangi göstermektir. Orada her rol için orada olmalı rolleri sayısı Çizelge 3'te olduğunu.
Örneğin, Tablo 1 bu üç satır içeriyor:
bookingid, person, role
7, Tim, role1
7, Bob, role1,
7, Charles, role2
ve Table2
bookingid, projectid
7, 1
ve Table3
projectid, project, numberofrole1, numberofrole2
1, Test1, 2, 2
Ben sonuç role2s doğru sayıda proje için orada olmadığını göstermek istiyorum Test1.
Dürüst olmak gerekirse, böyle bir şey biraz benim yeteneği ötesinde, bu yüzden bunu yapmak için en iyi yolu önerilere açığım. Ben sqlite ve php (sadece küçük bir proje var) kullanıyorum. Benim sonuçlar var bir kere ben sonunda php ile bir şeyler yapmak varsayalım, ama sqlite ile bunu yapmak için daha iyi bir yolu olup olmadığını merak ettim.
Ben böyle bir şey yaparak başladı:
SELECT project, COUNT(numberofrole1) as "Role"
FROM Table1
JOIN Table2
USING (projectid)
JOIN Table3
USING (bookingid)
WHERE role="role1"
GROUP BY project
Ama değeri numberofrole1 aldığı ile "Rolü" olarak döndürülen değeri karşılaştırmak için nasıl çalışmak değil
Herhangi bir yardım minnetle alınır.