2013-01-16 31 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