2013-01-17 102 views
0

我在查詢中出現錯誤結果,因爲我沒有得到任何結果,但肯定存在。SQL Server從表中選擇列,其中子查詢中的列

QUERY

select nr 
from table1 
inner join table2 on table2.nr = table1.nr 
where table1.nr in (select nr 
        from table2 
        where columnn like '%value%') 
    and nr in (select nr from table2 where columnn like '%other value%') 

當我只用第一子查詢,我得到的結果,但在它的第二子查詢我不

回答

2

使用或代替,而

select nr from table1 
inner join table2 on table2.nr = table1.nr 
where table1.nr in (select nr from table2 where columnn like '%value%') or nr in 
(select nr from table2 where columnn like '%other value%') 

而且如果使用完全相同的查詢,連接就沒用了。

優雅的方式是

select nr from table1 
inner join table2 on table2.nr = table1.nr 
where CONTAINS(table2.column, '"*value*" OR "*other value*"') 
+0

我不能使用或becase的我需要的NR是在第一子查詢和第二個1和喜歡我的一個得到的結果,從NR 2子查詢的 – AntoonVs

+0

您可以發佈樣本數據和預期產出? – hkutluay

+0

Tanx爲查詢我只需要添加索引在table2上的全文將讓你知道結果 – AntoonVs