簡體   English   中英

SQL-計算空鏈接值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM