我將如何去結合這兩個語句。基本上這是一個搜索,我希望用戶能夠搜索名稱,公司或筆記。筆記在另一個表中稱爲行爲。其中有一個CID的外鍵。我希望它只返回匹配任何已填寫內容的結果。因此,搜索名稱:Bob Notes:Golf不會返回所有在筆記中打高爾夫球的用戶,但只會返回一個名字爲bob的人,並在筆記字段中打高爾夫球。SQL創建搜索語句問題
我遇到的問題是如果Notes確實返回多於一行,那麼它會破壞我使用第一條語句的機會。
我使用的是SQL-Server 2005的感謝
1日聲明:
SELECT DISTINCT CID, Name, Comp, Email
From Con
Where (Name IS NULL OR Name LIKE '%' + @name + '%')
AND (Comp IS NULL or Comp LIKE '%' + @comp + '%')
第二屆聲明:
If @notes <> ''
Begin
SET @newid =
(
Select CID
From Act
Where Note LIKE '%' + @notes + '%'
)
Select DISTINCT CID, Name, Comp, Email
From Contacts c
Where (CID= @newid)
End
的一種方法,它不依賴在相關的子查詢上可能會有更好的表現。 – Shawn 2011-04-01 17:58:37