SQL Server 2008的顯示數據如果計數(不同)爲0
SQL查詢顯示IP地址(如果存在)
SELECT [IP_ADDR1_TEXT], COUNT(distinct [IP_ADDR1_TEXT]) as Instances
FROM sem_computer, [dbo].[V_SEM_COMPUTER]
WHERE sem_computer.COMPUTER_ID = [dbo].[V_SEM_COMPUTER].COMPUTER_ID
AND [IP_ADDR1_TEXT] = '10.10.10.10'
GROUP BY [IP_ADDR1_TEXT]
輸出
IP_ADDR1_TEXT Instances
10.10.10.10 1
如果IP地址計數爲0時,輸出一片空白。
如何修改查詢,以便實例輸出0,旁邊不存在的IP地址,即
SELECT [IP_ADDR1_TEXT], COUNT(distinct [IP_ADDR1_TEXT]) as Instances
FROM sem_computer, [dbo].[V_SEM_COMPUTER]
WHERE sem_computer.COMPUTER_ID = [dbo].[V_SEM_COMPUTER].COMPUTER_ID
AND [IP_ADDR1_TEXT] = '10.10.10.11'
GROUP BY [IP_ADDR1_TEXT]
應該輸出
IP_ADDR1_TEXT Instances
10.10.10.11 0
編輯
VIEW的屏幕截圖
IP_ADDR1_TEXT是一個別名
柱 CAST(CASE WHEN IP_ADDR1 < 0 THEN 0xFFFFFFFF的+ IP_ADDR1 ELSE IP_ADDR1 END/256/256/256 & 0xFF的AS VARCHAR)+ '' + CAST(CASE當IP_ADDR1 < 0 THEN 0xFFFFFFFF + IP_ADDR1 ELSE IP_ADDR1 END/256/256 & 0xFF AS VARCHAR)+'。' + CAST(CASE當IP_ADDR1 < 0 THEN 0xFFFFFFFF + IP_ADDR1 ELSE IP_ADDR1 END/256 & 0xFF AS VARCHAR)+'。' + CAST(CASE WHEN IP_ADDR1 < 0,那麼0xFFFFFFFF的+ IP_ADDR1 ELSE IP_ADDR1 END & 0xFF的AS VARCHAR)
不顯示的原因是因爲您正在使用過時的連接語法將其變爲內部連接。您應該使用較新的ANSI_92語法來進行連接。 – 2014-10-09 18:22:42