Tablo1 adında bir varsayımsal tablo sütunları ile vardır:
- kimlik
- durum 1
- durumu 2
- joinable_key
Olan ID birinckimlike joinable_key tekabül bir tane, Main_Table bulunmaktadır.
Ben durumu 1 ve ayrı ayrı durum 2 hem göre Table1 satırları sayabilirsiniz böyle bir moda onlara katılmak istiyorum - yani, ben first_condition, sayısı olarak "(Table1.condition1) sayımı yapmak mümkün olmak istiyorum seçim sorgusu second_condition "olarak (Table1.condtion2).
Sorgu muhtemelen şöyle olacaktır:
SELECT Main_Table.some_column, COUNT(Table1.condition1) AS first_condition, COUNT(Table1.condtion2) AS second_condition
FROM Main_Table
LEFT JOIN Table1 AS T1 on (T1.joinable_key = Main_Table.kimlik AND T1.condition1 = 'something')
LEFT JOIN Table1 AS T2 on (T2.joinable_key = Main_Table.kimlik AND T2.condition2 = 'something else')
GROUP BY (Main_Table.kimlik)
When this executes, however, both count results are equal, and actually multiply with each other. It is imperative that all results be included in the final output - including those that do not have any entries from Table1 - that is, if there is no row in Table1 with a joinable_key equal to Main_Table.kimlik, it too needs to be included.
Herkes aslında iki ayrı sorgu yapıyor ve PHP aracılığıyla ele önermek önce - evet, neden ve nasıl yapılabilir biliyorum, ama benim hedefim bu çoklu numara bir sorgudaki tüm yapılabilir olup olmadığını öğrenmek için.
Teşekkür ederim