[英]SQL - Count Null Linked Values
我有2個表格,需要返回按類別分組的某些項目的計數。 類別名稱包含在另一個表中,因此看起來像這樣,並非每個項目都有與之關聯的狀態
表格1
Item1 | ID1 |StatusID1
Item2 | ID2 |StatusID2
Item3 | ID3 |StatusID2
Item4 | ID4 |
表2
StatusID1 | StatusA
StatusID2 | StatusB
我基本上需要看
StatusA | CountStatusA
StatusB | CountStatusB
我可以讓他們在有狀態的情況下顯示,但在沒有分配狀態的情況下什么也看不到。
謝謝
進行條件檢查,如果狀態為null,則根據您的要求進行計數或顯示。 假設沒有狀態表示空值。
您可以這樣進行操作(如果第一個表中的狀態ID僅是space),請從table2,table1中選擇table2.status,count(table1.id),其中table1.statusid = table2.statusid由table1.statusid聯合分組,請選擇'否狀態ID',來自table1的count(table1.id),其中table1.statusid =''
要么
您可以這樣進行操作(如果第一個表中的狀態ID為null),則從table2,table1中選擇table2.status,count(table1.id),其中table1.statusid = table2.statusid由table1.statusid聯合分組,選擇'無狀態id',count(table1.id)來自table1,其中table1.statusid為null
您可以在分組之前coalesce
丟失的狀態:
SELECT COALESCE (status, 'Status missing'), COUNT(*)
FROM table1
LEFT JOIN table2 ON table1.status_id = table2.status_id
GROUP BY COALESCE (status, 'Status missing')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.