2011-06-30 148 views
2

我有一個數據庫,我正在通過搜索,我希望能夠返回所有行中至少有一個字段符合搜索條件的行。有沒有比循環遍歷所有列更簡單的方法?喜歡的東西:通過所有字段的SQL搜索

SELECT * 
    FROM table 
WHERE [insert very simple code here] LIKE fieldString 

如果不是我可以循環,我只是想知道如果有一個簡單的解決方案,我失蹤了。

+0

您是否嘗試覆蓋每一列的怪物或聲明? – scrappedcola

+2

什麼數據庫?全文搜索(FTS)可能是最好的解決方案 –

+0

您正在使用哪種RDBMS? – Yuck

回答

3

改用ORS您的WHERE子句中:

WHERE col1 LIKE .... OR col2 LIKE .... OR col3 LIKE ...

+0

好吧,我也是那麼想的,只是想知道是否有更簡單的東西。這很簡單,只是做了一個很長的陳述:D沒什麼太壞的! –

+0

Check @ t-clausen.dk答案。他的代碼完成這項工作,並得到很好的評論 – niktrs

2

只是把他們都在一個或聲明:

SELECT * FROM table 
WHERE col1 LIKE fieldString 
    OR col2 LIKE fieldString 
    OR col3 LIKE fieldString