2013-01-16 29 views
0

以下查詢收率6分的結果:SQL服務器:比特的列沒有產生結果

SELECT ATTACHMENT_ID, 
     /* Somme other columns */ 
     THUMBNAIL_EXIST, 
     CASE isnull ((SELECT TOP 1 EMAIL_ID 
        FROM EMAILS_ATTACHMENTS 
        WHERE ATTACHMENT_ID = vwFILES_ATTACHMENTS.ATTACHMENT_ID), '00000000-0000-0000-0000-000000000000') 
     WHEN '00000000-0000-0000-0000-000000000000' THEN '0' 
     ELSE '1' 
     END AS SENT_ATTACHMENT, 
     CASE File_ext 
     WHEN '.pdf' THEN 'true' 
     ELSE 'false' 
     END AS 'enablecheck', 
     CASE VISIBLE_TO_CLIENT 
     WHEN '1' THEN '/FACTS/App_Themes/SugarClassic/images/check_inline.gif' 
     ELSE '/FACTS/App_Themes/SugarClassic/images/close_inline.gif' 
     END AS 'VISIBLE_TO_CLIENT_PATH' 
FROM vwFILES_ATTACHMENTS 
WHERE (1 = 1) 
     AND (PARENT_TYPE = 'Files') 
     AND (PARENT_ID = '55e52006-ce85-4781-b6f9-00b68c04d62f') 
     AND (DELETED = 0) 
ORDER BY DATE_ENTERED DESC 

我修改在一行上它改變從FalseTrueDELETED柱。當我嘗試搜索DELETED = 1而不是DELETED = 0時,搜索不會產生任何結果。

爲什麼我更改的那一行沒有顯示出來?當我運行我的DELETED = 0查詢(上面)時,我只得到5個結果。直到我專門搜索它的ATTACHMENT_ID纔得到第6個結果。

感謝您的幫助。

+0

也許在你看來,你有TOP 5? –

+0

我該如何檢查?它不在查詢中。 – user1477388

+1

你使用這個視圖更新了嗎?還是你直接更新表格?新記錄可能不符合視圖的搜索條件以及查詢中上述的where子句。 –

回答

1

很難確定發生了什麼情況與您的情況給予的職位和意見。我會嘗試這樣的事情,以確定您刪除的列值:

SELECT DELETED, COUNT(*) 
FROM vwFILES_ATTACHMENTS 
GROUP BY DELETED 

如果正在恢復您正確的結果,那麼啞巴,因爲它聽起來,假設已刪除= 1不起作用,你可以試試:

SELECT * 
FROM vwFILES_ATTACHMENTS 
WHERE Deleted <> 0 

如果任一= 1或<> 0工作並返回正確的行,那麼機會是@Joel是正確的,他的假設是你的WHERE子句中的其他約束導致它不返回。如果= 1或<> 0不起作用,那麼我很無能。

祝你好運。

+0

感謝您的回答。我遇到的問題與我使用「vw」或「view」表而不是查詢表本身有關。我以上更多的解釋評論。 – user1477388